全角波浪线的乱码情况

阅读更多
今天发现一个很奇怪的乱码情况,全角波浪线的乱码。

环境:
日文操作系统
oracle: NLS_LANG = JAPANESE_JAPAN.JA16SJIS

问题:
在页面上输入“~”,保存到数据库中,画面再显示时,显示为“?”。
在页面上输入其它字符均正常。

调查:
在网上查了一些资料,推荐 http://hi.baidu.com/niujunkai/blog/item/7ce359f3b121f9c90b46e0bf.html。
1.在页面输入的“~”为\uff5e,占两个字节。
2.从页面传到java中查看,“~”为\uff5e,占两个字节。
3.存储到oracle中,“~”为\uff5e,占两个字节。
4.从oracle取出到java中查看,“~”为\u301c,占一个字节。

分析:
为什么会这样?....
为什么从数据库中取出就变化了呢?....不知道。

对应办法:
// str为从数据库中取出的字符串
str = str.replace('\u301c', '\uff5e');

你可能感兴趣的:(Oracle,Java,Blog,HTML)