日语的文字编码
1、常用编码
日语的文字编码主要是Shift_JIS、EUC-JP、ISO-2022-JP这三种。
(1)Shift_JIS主要是Windows和Macintosh使用的文字编码。
Shift_JIS 的文字集合基本是按照JIS X 0208规定的。但实际上各个厂商各自进行扩展,包含了大量重复的、规格以外的文字。因此,Windows在本来的 Shift_Jis的文字集合之外,又增加了NEC扩展、IBM扩展所包含的文字。这种规格和实际情况的分歧长期存在,随着windows-31J的规格化,混乱情况有所改善。
(2)EUC-JP是被Linux和Solaris广泛地使用的文字编码。
(3)ISO-2022-JP主要被Email使用的文字编码。只使用7个bit,第8个bit不使用,所以不适合程序中的字符串处理,主要使用在网络中的数据交换中。
------------------------------------
2、Shift_JIS和Windows-31的不同点
Shift_JIS/Windows-31J → Unicode的映射
-----------------------------
JIS X 0208の文字
-----------------------------
~ (1-33, WAVE DASH)
∥ (1-34, DOUBLE VERTICAL LINE)
- (1-61, MINUS SIGN)
¢ (1-81, CENT SIGN)
£ (1-82, POUND SIGN)
¬ (2-44, NOT SIGN)
IBM独自拡張
NEC独自拡張
-------------------------------------------------
用户自定义文字,被映射到Unicode的私用领域。
转换器
------------------------------
Windows-31J
Unicode → Shift_JIS/Windows-31J 的映射
--------------------------------------------
Unicodeの文字
∥ (DOUBLE VERTICAL LINE) U+2016
- (MINUS SIGN)
~ (WAVE DASH)
- (FULLWIDTH HYPHEN-MINUS) U+FF0D
~ (FULLWIDTH TILDE)
¢ (FULLWIDTH CENT SIGN) U+FFE0
£ (FULLWIDTH POUND SIGN) U+FFE1
¬ (FULLWIDTH NOT SIGN) U+FFE2
总结一下,Shift_JIS和 Windows-31J 有以下两点不同:
<1>Windows-31J包括IBM的扩展文字和NEC的扩展文字。
<2>一些符号转换为Unicode的编码点是不同的。
所以,通常使用 Windows-31J可以避免一些问题。
=================================================================
3.Java中的MS932就是Windows-31J
WebLogic Server 8.1 SP1
对于 WebLogicServer 系统中的 IANA-Java 映射,IANA 字符集名“Shift_JIS” 作为 Java 编码名 Shift_JIS 进行处理。因此,在 JSP、Servlet 或 Web Service 使用 Shift_JIS
方法 1 --- 重写 JSP/Servlet 的程序文件。
--- 对于 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");
“Windows -31J”是使用 IANA 正式注册的字符集名称,等同于 Microsoft 代码页 932。同样,对于 Java 来说,MS932 与
方法 2 --- 在 weblogic.xml 中更改映射(不遵从 J2EE)
在 weblogic.xml
<weblogic-web-app>
</weblogic-web-app>
但是,这种方法是 WebLogic Server 特有的,不遵从 J2EE。换句话说,它不能与其他 J2EE Servlet 容器交互操作。 “Shift_JIS”IANA 名称为等同于 JIS X 0201 + JIS X 0208 的字符集。因此将此字符集当作 Microsoft

浙公网安备 33010602011771号