【发布时间】:2011-05-15 17:32:29
【问题描述】:
我正在抓取 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 吗?
提前致谢。
【问题讨论】:
-
您是否 1000% 确定您抓取的网站是 windows-1250?你能确定在浏览器中(看看它切换到哪种编码)?你的输出编码是什么?
-
如何指定输出的字符编码?
-
当你说“给予”时,你到底是什么意思?您能否将数据库排除在等式之外并尝试从您的 PHP 代码打印转换后的结果,您自己的页面编码为 UTF-8?还是您已经这样做了?
-
当我说给,我的意思是写在数据库中(这对我来说最重要)。打印在 utf-8 页面上,它给出 "ÄŚarls" iconv('windows-1250', 'UTF-8', $s) 或 "�arls" (iconv('UTF-8', 'windows-1250', $s ))。我希望“Čarls”来自原始抓取的网站。
-
@umpirsky - 必须忽略某些区域,例如您如何查看 mysql 的结果?
show variables like '%char%'返回是什么?
标签: php encoding utf-8 web-crawler