Press "Enter" to skip to content

Windows-1252字符集转UTF-8

瑞士物流轨迹查询,网站C#开发的,有拉丁文字符集比如 “paketet har ännu inte lämnats över till early bird” 这个物流节点描述。我们需求把物流轨迹描述获取到,并存储起来。

ä 一开始这种类似拉丁文字符自己乱码显示

mb_detect_encoding 识别网页源文件 ,没有提供字符集列表参数,识别失败
浏览器打开调试窗口
输入documnet.charset 显示
windows-1252 编码字符集

把windows-1252 放入mb_detect_encoding($content, array("ASCII","UTF-8","GB2312","GBK","BIG5","Windows-1252")
还是识别失败

然后开始 bing搜索 windows-1252 to utf-8
php识别时候是ISO-8859-1 才能识别成功,没有仔细去研究这个识别原理,后续再看看这个方法源码 怎么识别,然后字符集区别

//针对乱码文本 直接转换utf8
$event = mb_convert_encoding($event, 'UTF-8',"Windows-1252");

也发现了一个强制转换 https://github.com/neitanod/forceutf8 php类库

Leave a Reply

Your email address will not be published. Required fields are marked *