`

(转)日语的文字编码

    博客分类:
  • Work
阅读更多

http://blog.csdn.net/jackyren007/archive/2008/07/31/2743779.aspx

日语的文字编码 收藏

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の文字    Shift_JIS/Windows-31Jのコード     Shift_JIS→Unicode     Windows-31J→Unicode 
-----------------------------
~ (1-33, WAVE DASH)     8160             U+301C         U+FF5E 
∥ (1-34, DOUBLE VERTICAL LINE)     8161         U+2016         U+2225 
- (1-61, MINUS SIGN)     817C             U+2212         U+FF0D 
¢ (1-81, CENT SIGN)     8191             U+00A2         U+FFE0 
£ (1-82, POUND SIGN)     8192             U+00A3         U+FFE1 
¬ (2-44, NOT SIGN)     81CA             U+00AC         U+FFE2 
IBM独自拡張                      ×         ○ 
NEC独自拡張                      ×         ○ 
-------------------------------------------------
用户自定义文字,被映射到Unicode的私用领域。

转换器        Shift_JIS范围     Unicode范围
------------------------------
Windows-31J     F040~F9FC     E000~E757 


Unicode → Shift_JIS/Windows-31J 的映射
--------------------------------------------
Unicodeの文字         Unicodeのコード         Shift_JIS         Windows-31J 
∥ (DOUBLE VERTICAL LINE) U+2016             8161         × 
- (MINUS SIGN)         U+2212             817C         × 
~ (WAVE DASH)         U+301C             8160         × 
- (FULLWIDTH HYPHEN-MINUS) U+FF0D         ×         817C 
~ (FULLWIDTH TILDE)     U+FF5E             ×         8160 
¢ (FULLWIDTH CENT SIGN) U+FFE0             ×         8191 
£ (FULLWIDTH POUND SIGN) U+FFE1         ×         8192 
¬ (FULLWIDTH NOT SIGN) U+FFE2             ×         81CA 


总结一下,Shift_JIS和 Windows-31J 有以下两点不同:
<1>Windows-31J包括IBM的扩展文字和NEC的扩展文字。
<2>一些符号转换为Unicode的编码点是不同的。 

所以,通常使用 Windows-31J可以避免一些问题。
=================================================================

3.Java中的MS932就是Windows-31J

WebLogic Server 8.1 SP1  及更高版本的 Service Pack 使用 JDK1.4.1 或更高版本,并会影响 Shift_JIS 区域。在  WebLogic Server 7.0 及以前的版本使用的 JDK(JDK1.3) 中,“Shift_JIS”Java 编码名的别名是 “MS932”。

对于 WebLogicServer 系统中的 IANA-Java 映射,IANA 字符集名“Shift_JIS” 作为 Java 编码名 Shift_JIS 进行处理。因此,在 JSP、Servlet 或 Web Service 使用 Shift_JIS  时,其操作将与以前版本不同。例如,MS932 专有字符(“@”等)将变为“?”。因此,如果希望一如既往地使用 MS932,则应当使用 IANA  名称“Windows-31j”。要使用 MS932,请采用下面的方法 1 或 2。

方法 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 与  Microsoft 代码页 932 相关联。因此,Java 中的“MS932”便是 IANA 的“Windows-31J”。实际上在 Java 中,“Windows-31J”也是 MS932 的别名。就目前而言,保持 Java 编码名与 IANA 名称的一致渐成趋势。如果将来希望使用对应于 Microsoft 代码页 932 的字符集,则强烈建议使用“Windows-31J”。

方法 2 --- 在 weblogic.xml 中更改映射(不遵从 J2EE)

在 weblogic.xml  部署描述符文件中,可以将 IANA 名称 Shift_JIS 强制映射为 Java 名称 Windows-31J。这样,您可以不必重写 JSP  或 Servlet 代码,便能够将 Shift_JIS 作为 Windows-31J 进行处理。请在 weblogic.xml 中包括以下项,然 后重新部署 Web 应用程序。

<weblogic-web-app>
  <charset-params>
    <charset-mapping>
      <iana-charset-name>Shift_JIS</iana-charset-name>
      <java-charset-name>Windows-31J</java-charset-name>
    </charset-mapping>
  </charset-params>
</weblogic-web-app>

但 是,这种方法是 WebLogic Server 特有的,不遵从 J2EE。换句话说,它不能与其他 J2EE Servlet 容器交互操作。 “Shift_JIS”IANA 名称为等同于 JIS X 0201 + JIS X 0208 的字符集。因此将此字符集当作 Microsoft  代码页 932 使用是不合适的。仅在由于某些原因难于更正 JSP 或 Servlet 代码时才使用此方法。

  < type="text/javascript"> < type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> < type="text/javascript"> < type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

发表于 @ 2008年07月31日 10:24:00 | 评论( 0 ) 举报收藏

分享到:
评论

相关推荐

    jconv:用于日语字符编码的纯JavaScript转换器

    用于日语编码的纯JavaScript Iconv。 此模块支持日语中常用的编码: Shift_JIS(CP932),ISO-2022-JP(-1),EUC-JP,UTF8,UNICODE(UCS2)转换。 纯Javascript,无需编译。 比快得多。 安装 $ npm install ...

    日文字库Sjis码表

    日文字库Sjis码表 sjis--gbk

    C# 文字代码页 文字编码的代码页名称速查表

    最近有项目需要用到韩语,日语的编码转换,最重要的就是需要一个代码页的对照,找了一下,最新的代码页或者说编码表如下

    nlp-recipes-ja:日语自然语言处理的示例代码

    NLP日语食谱 该存储库包含用于日语自然语言处理的示例代码。 它受到的极大启发。 内容 以下是存储库中涵盖的常用NLP方案的...日语文字可视化 环境 docker-compose up -d --build docker exec -it nlp-recipes-ja bash

    seguiemj 资源文件

    绘文字(日语:絵文字/えもじ emoji)是日本在无线通信中所使用的视觉情感符号,绘指图画,文字指的则是字符,可用来代表多种表情,如笑脸表示笑、蛋糕表示食物等。 在NTTDoCoMo的i-mode系统电话系统中,绘文字的...

    日文输入法(中文转日文)

    在游戏中输入新武将姓名时将输出编码这一项选为SJIS码,那么你所输入的中文,就可以在日文的太阁立志传里正常显示了。如果你在2K下,打开输入法时,没有输入法框那么就到控制面版的输入法中,选中游戏拼音输入法,...

    通用翻译软件 v5.0.zip

    软件功能强大,能够自动识别原文帮助用户翻译各国语音,支持英语、日语、韩语等,不仅如此,软件还能够进行网页翻译。软件界面美观简洁、简单全面、实用方便,可快速上手,轻轻松松完成日常在线翻译功能,真正做到...

    Madedit-Mod:MadEdit-Mod是基于MadEdit的跨平台文本/十六进制编辑器-开源

    添加了许多新功能,例如“拖放编辑”(跨平台),“突出显示文字”等。我之所以维护该项目是因为MadEdit的作者已经很长时间没有使用它了,我确实喜欢它,需要更多功能。 在Wiki页面上找到更多信息。 当前支持的语言...

    JS全角与半角转化实例(分享)

    而汉语、日语及韩语文字,由于数量大大超过256个,故惯常使用两字节来储存一个字符。在使用等宽字体(如DOS、部分文字编辑器等)的环境下,中日韩文字此时占据两倍于西文字符的显示宽度。所以,中、日、韩等文字称为...

    Sublime Text 3056 赵亮深度汉化定制(双12)版

    集成了GBK、GB2312、BIG5、韩语、日语编码文件的自动转换功能,效率相比其它同类插件更好。 3.菜单相比其它一些汉化版本,减少一些错译,更明了,适当加了注释,尽量减少用户查看帮助文档。 4.对EXE主体也进行了...

    cjk-decomp:75,000个CJK表意文字的分解数据; 的叉子(有修理)

    CJK分解数据文件是对Unicode中约75,000个中文/日语字符的图形分析。 数据文件采用UTF-8编码,最初由 ()编译。 它根据6个许可进行分发,您只需选择一个许可即可: 数据包括36个笔划( U+31C0..U+31E3 ),115个部...

    matlab改变代码字体-MeCab-Win-and-MATLAB:在Windows上使用MATLAB试用MeCab

    MeCab-用于文字处理的日语形态分析仪 分析文本时,第一步通常涉及获取字数。 这对于英语来说是相当容易的,因为您可以通过空格将每个单词分开。 日语文本不使用空格字符,因此这种方法行不通。 因此,您需要一个词法...

    h7n-nsi-02:HACKATHON〜NSI#02

    émoji(絵文字/えもじ,emoji,prononcé/emodʑi/),从日语到法语的esdésignerlespésignerles pictogrammesutilsédésignerles pictogrammes 使命 -妮维雅1- 条款和条件维基百科。 编码ASCII和Unicode。 ...

    ParallelDots-NodeJS-API:用于ParallelDots API的Node.js包装器

    支持的API:多语言关键字多语言情感分析(该功能对输入文本进行编码) 葡萄牙语(pt) 中文(zh) 西班牙语(es) 德文(de) 法语(fr) 荷兰语(nl) 义大利文(it) 日语(ja) 印尼文(id) 泰语(th) 丹麦文...

    专业屏幕取词引擎GetWord

    支持英文, 简体中文, 繁体中文, 俄语, 法语, 日语, 德语, 西班牙语, 阿拉伯语, 朝鲜语, 土耳其语, 瑞典语, 挪威语, 意大利语, 拉丁语, 葡萄牙语, 波兰语, 印度语, 泰国语, 越南语等所有常见语言编码格式.2....

    专业屏幕取词引擎getword

    1. 支持英文, 简体中文, 繁体中文, 俄语, 法语, 日语, 德语, 西班牙语, 阿拉伯语, 朝鲜语, 土耳其语, 瑞典语, 挪威语, 意大利语, 拉丁语, 葡萄牙语, 波兰语, 印度语, 泰国语, 越南语等所有常见语言编码格式. ...

    专业屏幕取词引擎-GetWord v5.0

    1. 支持英文, 简体中文, 繁体中文, 俄语, 法语, 日语, 德语, 西班牙语, 阿拉伯语, 朝鲜语, 土耳其语, 瑞典语, 挪威语, 意大利语, 拉丁语, 葡萄牙语, 波兰语, 印度语, 泰国语, 越南语等所有常见语言编码格式. ...

    JS常用校验

    * 由于本人日语能力有限及时间仓促没有写日文注释中文部门可能会出现乱码现象 * 在GB2312编码格式下可正常显示此文档,代码编写过程难免有错误,错误之处欢迎指正 * ******函数説明****** *  * isEmail(emailStr)...

    名片在线设计制作软件.exe

    1、每条成语包含:成语词目、拼音、近(反)义词、歇后语、灯谜面、用法、中文(日语、法语、德语、英语、俄语、西班牙语、葡萄牙语、拉丁语、意大利语)解释、成语出处、举例、故事、检索码、常用性、产生年代、...

Global site tag (gtag.js) - Google Analytics