如何处理日文系统中的NEC拡張字

http://blog.csdn.net/luyang1016/archive/2007/06/14/1652469.aspx

使用原因: 本系统原来定义的 CHARSET=Shift_JIS

但是定义为shift_jis时, NEC拡張 字,比如

② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮

⑰ ⑱ ⑲ ⑳ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ

㍉ ㌔ ㌢ ㍍ ㌘ ㌧ ㌃ ㌶ ㍑ ㍗ ㌍ ㌦㌣ ㌫ ㍊ ㌻

㎜ ㎝ ㎞ ㎎ ㎏㏄ ㎡ ㍻

〝 〟 ㊤ ㊥ ㊦ ㊧ ㊨ ㈱ ㈲ ㈹ ㍾ ㍽ ㍼

≡ ∫ ∮ ∑ √ ⊥ ∠ ∟ ⊿ ∵ ∩ ∪

不能正确的表示出来

例如,MS932 有字符( “@”等)将 变为 “?”

->本人遇到过几次日文乱码,都是显示成了问号?(20090511追加)

 

解决方法: --- 对于 JSP,在 page 标记中将 Shift_JIS 重写为 Windows-31J。

示例:

当 JSP 中存在以下行且使用 MS932 字符时,请将

<%@ page contentType="text/html; CHARSET=Shift_JIS" %>

重写为:

<%@ page contentType="text/html; CHARSET=Windows-31J" %>

 

在 Servlet 中更改 setContentType() 的规范。

对于 Servlet,当存在以下规范且使用 MS932 字符时,请将

response.setContentType("text/html;charset=Shift_JIS");

重写为:

response.setContentType("text/html;charset=Windows-31J");

 

Mysql 数据库中使用 MS932 字符时,请将:

default-character-set= sjis

重写为:

default-character-set= cp932

 

相关知识:

“Windows-31J”是在 IANA 中正式注册的字符集名称,等同于 Microsoft 代 码页 932(cp932)。

在 Java 中,MS932 等同于 Microsoft cp932。

因此,Java 中的“MS932”便是 IANA 的“Windows-31J”。

实际 上在 Java 中,“Windows-31J”也是 MS932 的 名。

 

附表:

下表列出了有效的字符集 标签值 以及等同的 IANA 标签 明:

字符集 标签

IANA 标签

cp932

windows-31j

Microsoft CP932 = Win31J-DBCS

sjis

shift_jis

Shift JIS(无

 

 

 

 

 

 

 

你可能感兴趣的:(windows,mysql,jsp,servlet,Microsoft)