MS932(Java) + JA16SJIS(Oracle)的情况下,有些字会出现乱码。
这个问题,是由于Shift-JIS和MS932对这些字的unicode映射不同造成的。
比如: ~ SJIS:U+301C MS932:U+FF5E
这个问题,是由于Shift-JIS和MS932对这些字的unicode映射不同造成的。
比如: ~ SJIS:U+301C MS932:U+FF5E
虽然,MS932是微软在Shift JIS的基础上,扩展的13区和89-92区以及115-119的编码,但在个别字符的映射上仍有不同。
在一些相关的网站上可以看到一些总结,这些字符如下
~ SJIS:U+301C MS932:U+FF5E
∥ SJIS:U+2016 MS932:U+2225
- SJIS:U+2212 MS932:U+FF0D
¢ SJIS:U+00A2 MS932:U+FFE0
£ SJIS:U+00A3 MS932:U+FFE1
¬ SJIS:U+00AC MS932:U+FFE2
在一些相关的网站上可以看到一些总结,这些字符如下
~ SJIS:U+301C MS932:U+FF5E
∥ SJIS:U+2016 MS932:U+2225
- SJIS:U+2212 MS932:U+FF0D
¢ SJIS:U+00A2 MS932:U+FFE0
£ SJIS:U+00A3 MS932:U+FFE1
¬ SJIS:U+00AC MS932:U+FFE2
至于验证方法,可以到unicode.org上查找相关的mapping文件,进行比较。
对于本问题,可以比较SHIFTJIS.TXT和CP932.TXT
针对MS932(Java) + JA16SJIS(Oracle)的情况,有人提出了把ORACLE的编码设为JA16SJISTILDE的解决方法。
没有试过,不过可以借鉴。
没有试过,不过可以借鉴。
转载于:https://blog.51cto.com/sychen/314138