我正在抓取windows-1250网站(meta http-equiv =“Content-Type”content =“text / html; charset = windows-1250”)。
由于我的数据库是utf-8,我需要将数据转换为utf-8。
对于那份工作我尝试了iconv('windows-1250','UTF-8',$ s);它给“ÔŚarls“而不是”Čarls“。
当编码切换位置iconv('UTF-8','windows-1250',$ s)时,它会提供更好的结果;给“Èarls”而不是“Čarls”。奇怪。
您知道如何将其转换为utf-8?
提前致谢。
答案 0 :(得分:2)
我非常确定我需要转换字符集,我忘了检查它是否适用于没有转换的uft8页面。
感谢所有评论。
答案 1 :(得分:0)
我建议首先验证正确的数据是否达到iconv(以及类似于iconv的内容)。
使用echo bin2hex($string)
之类的语句,在iconv之前查看$s
的字节流。如果你有字符串,你认为你有第一个字节应该是c8
。如果你再看一下iconv之后的字节流,那么第一个字节应该是c48c
(UTF-8);如果你转换为UCS-2,你会看到010c
,你see是unicode中的相关字符。
根据您的结果,您将知道问题在于收集数据(即您没有看到c8),您的iconv安装(即转换产生错误的结果)或将数据放入数据库(即iconv的结果与预期一致)。