Posted on 2007-12-24 12:24
久城 阅读(1619)
评论(1) 编辑 收藏 所属分类:
数据库学习
今天发现一个很奇怪的乱码情况,全角波浪线的乱码。
环境:
日文操作系统
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');
欢迎来访!^.^!
本BLOG仅用于个人学习交流!
目的在于记录个人成长.
所有文字均属于个人理解.
如有错误,望多多指教!不胜感激!