使用原因: 本系统原来定义的 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(无 扩 展 ) |