UTF-8转码至GBK时特殊字符处理

发布 : 2018-10-08 分类 : Bug笔记 浏览 :

说明

在编程时,使用iconv将UTF-8转换到GBK时,当遇到转换内容包含特殊字符(如:表情)iconv会返回错误,导致转码失败!

解决方法1

在使用调用iconv_open时将tocode参数增加//IGNORE即可。

示例:

iconv_open(“utf-8//IGNORE”, “gb2312”, inbuf, inlen, outbuf, outlen);

示例说明:

添加IGNORE后函数会忽略特殊字符。

解决方法2

示例

iconv_open(“utf-8//TRANSLIT”, “gb2312”, inbuf, inlen, outbuf, outlen);

示例说明:

添加TRANSLIT后函数会将特殊字符替换。(方法1在我使用的时候依然会报错,使用方法2便可以了,具体原因:暂不明)

最后

如果你发现任何问题或疑问,你可以在下面留言或者通过 微博 和邮箱联系我,我会第一时间给予答复。 本文出自 舍予书,如需转载请保留该段声明,非常感谢。

本文作者 : Lojze
原文链接 : http://blog.flowlore.com/passages/utf-8-to-gbd-error/
版权声明 : 版权声明: 本博客所有文章除特别声明外, 均采用 CC BY-NC-SA 4.0 许可协议. 转载请注明出自《舍予书》
留下足迹