我有以下代码在PHP文件中生成PHP utf8
FILE* fp = fopen("$path$debug.txt","r");
标题
中有以下内容mb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');
我正在使用CURL
获取页面<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这有一些奇怪的字符,引号和双引号显示为â
我发现这会正确输出字符串,但html实体显示为curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
标记。
?
这意味着我的页面实际上并没有在utf8中输出..我正在使用firefox,我该如何解决这个问题?!使页面完全兼容utf8(理想),或删除html实体。
我尝试在utf8_decode之前使用替换,但它会混淆输出
utf8_decode($str);
答案 0 :(得分:0)
在大多数情况下,函数mb_detect_encoding($str)
会告诉您变量的编码。
您可能还想查看标题
header('Content-Type: text/html; charset=utf-8');
现在,在你的curl请求中,你正在设置curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
现在这个设置的有效选项是&#34; identity&#34;,&#34; deflate&#34;或&#34; gzip&#34;,UTF-8不在列表中,
所以删除该行,然后检测您收到的内容的编码,然后使用mb_convert_encoding()