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

        在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”来代替。当然,还有一种方法就是直接加反斜线“/”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值