我正在使用CURL导入一些代码。然而,在法语中,所有的字符都变得很奇怪。例如:Bonjour ...
我无法更改导入代码中的任何内容。有没有什么办法可以在我的这一侧来解决这个问题?
谢谢
我正在使用CURL导入一些代码。然而,在法语中,所有的字符都变得很奇怪。例如:Bonjour ...
我无法更改导入代码中的任何内容。有没有什么办法可以在我的这一侧来解决这个问题?
谢谢
正如Jon Skeet所指出的,很难理解你的情况,但是如果你只能访问最终文本,你可以尝试使用iconv来更改文本编码。
即:
$text = iconv("Windows-1252","UTF-8",$text);
我曾经遇到过类似的问题(用意大利语和特殊字符),我是这样解决的。
尝试不同的组合(UTF-8、ISO-8859-1、Windows-1252)。
我有一个类似的问题。我试图循环遍历所有输入和输出字符集的组合,但没有任何帮助!:(
然而,我能够访问实际获取数据的代码,这就是罪魁祸首所在的地方。数据是通过cURL获取的。添加
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
已解决。
一个方便的代码集,用于尝试一组字符集的所有可能组合:
$charsets = array(
"UTF-8",
"ASCII",
"Windows-1252",
"ISO-8859-15",
"ISO-8859-1",
"ISO-8859-6",
"CP1256"
);
foreach ($charsets as $ch1) {
foreach ($charsets as $ch2){
echo "<h1>Combination $ch1 to $ch2 produces: </h1>".iconv($ch1, $ch2, $text_2_convert);
}
}
PHP默认使用UTF-8编码,因此我发现以下代码可以工作:
$text = iconv("UTF-8","Windows-1252",$text);
$data = curl_exec($ch);
by
$data = utf8_decode(curl_exec($ch));
我曾经遇到过同样的问题,这个方法对我很有效。
我目前遇到了类似的问题,我正在尝试使用cURL编写一个简单的HTML <title>
导入器。以下是我迄今为止所做的事情的概述:
curl_getinfo()
检查响应头中是否有任何编码提示,并通过正则表达式进行匹配<title>
标记(是的,我知道后果)iconv()
$DEITY
会惩罚他/她直到永远,因为这将节省我解析元标记的时间