这个很难吧?!
你说数字1,是属于什么字符集?一切皆有可能。######
你最好自己肉眼读一下服务器这段文本,将它放在浏览器里面读,用不同的编码试试,哪个显示正常,就是哪种编码了。######
引用来自#3楼“张敏峰”的帖子
你最好自己肉眼读一下服务器这段文本,将它放在浏览器里面读,用不同的编码试试,哪个显示正常,就是哪种编码了。
这样不行。让PHP自动判断编码格式,都转换成UTF-8的。搜到一个帖子,是通过判断文件头来判断编码,但是我觉得应该有更简单的方法。mb_convert_encoding($text, 'UTF-8','GB2312,UTF-8');这个函数基本实现了功能,但是有些编码如Unicode就会乱码 (用记事本保存时可以选,不知道是不是一种编码)。应该把尽量多的编码放到函数第三个参数上就可以吧。######
不知道文件头信息里面会不会有文件的编码方式的标记。######
引用来自#5楼“凹凸曼”的帖子
不知道文件头信息里面会不会有文件的编码方式的标记。
utf-8好像有固定的文件头,别的不知道。######
回复的时候怎么出来个 {"id":10311,"post":256271957,"user":8876,"post_count":5}
红薯看一下问题。######
mb_convert_encoding用编码列表,一般ascii打头,GB2312、GBK、UTF-8基本够用了。######
编码的顺序是很有讲究的,如果编码是ascii的就不要转换######
引用来自#9楼“dj”的帖子
编码的顺序是很有讲究的,如果编码是ascii的就不要转换
也就是用 mb_convert_encoding($text, 'UTF-8','ascii,GB2312,gbk,UTF-8'); ?
第三个参数是文本的原编码,检测到与第二个参数相同时就不进行转码了?