最近搞一个功能,遇到了编码的问题。最后是解决了,但是对于编码有点迷惑了。大家讨论一下呗
简体编码:ASCII->GB2312B->GBK->GB18030 这是向下兼容的部分。
繁体编码:big-5
按道理来说,UTF-8是大过上面的字符集的。就意味着,上面的字符集都可以通过iconv进行转换为utf-8.但是测试的时候却不是想象中的结果
GB2312B->GBK->GB18030 通过iconv转换为utf-8正常
echo iconv("gbk","utf-8","大大"); #写入文件的时候显示正常,没有乱码
big5 通过转换则不正常
echo iconv("big5","UTF-8","愛"); #写入文件的时候显示没有。就是说不过去iconv没有进行转换
而不转换的话,直接写入的话,则一切都正常。究竟为什么会这样呢?
还有一个就是mb_detect_encoding检测的结果好象有问题似的。。