Java-用Google的Protobuf做数据交互时,遇到短信内容中包含“珺”字,经GBK或GB2312编码后乱码。

Java-用Google的Protobuf做数据交互时,遇到短信内容中包含“珺”字,经GBK或GB2312编码后乱码。

想挽留 发布于 2017-08-15 字数 245 浏览 1396 回复 1

C++从数据库提取数据封装成protobuf传递到Java,java经GBK或GB2312对含有中文的内容进行转码后,内容中只有“珺”字是乱码?

通讯双方统一用UTF编码,乱码问题解决。为什么单“珺”字乱码,疑惑!

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2017-10-10 1 楼

GB2312只包含了6763个汉字,其中没有珺,但GBK包含了珺,所以用GB2312转码肯定是乱码,但GBK转码的话,应该不是乱码。关于GB2312,GBK的解释参考:
“GB,GBK,GB18030,Unicode”汉字编码知识

另外,现在通讯用UTF8编码已经是常识了,所以为了避免麻烦,请尽量使用UTF8编码