’
而不是-
我尝试使用不同的编码类型,如:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
和
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
但结果是一样的。可能是什么问题呢?
输入
<strong style="color:#A8A8A8;">1</strong>
- Lorem Ipsum。
结果
1 - Lorem Ipsum。
答案 0 :(得分:4)
确保您的html标头指定utf8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
这通常对我有用(显然如果内容是utf8)。
如果设置了content-type,则无需转换为html实体。
检查http://php.net/manual/en/function.mb-convert-encoding.php
<?php
header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding('utf-8');
?>
可能会对你有帮助。
答案 1 :(得分:2)
看起来您的源数据在此过程中从一个编码转换为另一个编码。尝试确保所有步骤具有相同的编码。
当将UTF8数据作为ISO-8859-1数据处理时,通常会弹出这样的转换错误。 (多字节与单字节?不确定)。
答案 2 :(得分:2)
元标记不会改变输出的事实是一个强有力的指标,表明它有一些重叠;可能它是HTTP标头中指定的字符集(优先于元标记),你确定你没有在那里设置吗?
答案 3 :(得分:1)
您的文档很可能以UTF-8编码,因为–
是UTF-8编码字符–
的iso-8859-1演示文稿。
您需要的是您描述的元标记:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
由于它不起作用,标签可能会被忽略。建议使用浏览器并检查它尝试使用的编码(工具 - Chrome中的编码)。
utf8_encode(...)
答案 4 :(得分:0)
从javacode创建文件并将编码设置为UTF-16时遇到同样的问题就行了。