现在的位置: 首页 > 综合 > 正文

gcc在日文Shift-JIS编码中的乱码情况

2012年12月31日 ⁄ 综合 ⁄ 共 730字 ⁄ 字号 评论关闭

        在Linux系统或者Unix系统开发C或者C++,Pro*C等程序的时候,不可避免要使用gcc工具,在日文中一个常用的日文编码系统就是Shift-JIS编码,但是当在Shift-JIS编码的情况使用gcc的时候,却经常遇到某些汉字乱码情况,那到底是为什么呢。

        Shift-JIS编码中,汉字是用的2个byte的,当第二个byte是0x5c的时候,采用gcc编译就会出现乱码情况。一般来说,会发生错误的是以下这些汉字。

/x81/x5c ―
/x83/x5c ソ
/x84/x5c Ы
/x87/x5c Ⅸ
/x89/x5c 噂
/x8a/x5c 浬
/x8b/x5c 欺
/x8c/x5c 圭
/x8d/x5c 構
/x8e/x5c 蚕
/x8f/x5c 十
/x90/x5c 申
/x91/x5c 曾
/x92/x5c 箪
/x93/x5c 貼
/x94/x5c 能
/x95/x5c 表
/x96/x5c 暴
/x97/x5c 予
/x98/x5c 禄
/x99/x5c 兔
/x9a/x5c 喀
/x9b/x5c 媾
/x9c/x5c 彌
/x9d/x5c 拿
/x9e/x5c 杤
/x9f/x5c 歃
/xe0/x5c 濬
/xe1/x5c 畚
/xe2/x5c 秉
/xe3/x5c 綵
/xe4/x5c 臀
/xe5/x5c 藹
/xe6/x5c 觸
/xe7/x5c 軆
/xe8/x5c 鐔
/xe9/x5c 饅
/xea/x5c 鷭
/xed/x5c 偆
/xee/x5c 砡

        解决的方法有3种,第一种就是最好的,改变编码,比如采用日文EUC编码或者UTF8编码都OK。第二种就是避免使用以上这些字,不过有点困难,因为其中有很多也是常用日文汉字。第三种就是采用转义字符。比如“能”这个字就采用“/x94/x5c”来代替。当然,还有一种方法就是直接加反斜线“/”。

抱歉!评论已关闭.