我正在解析一个xml文件。XML用utf-8编码。当单词包含特殊字符时,它们会被扭曲。我无法控制xml文件,但是在我这端我能做些什么来正确显示单词吗?
例子Shows up as: Skövde
Should Be: Skövde OR Skovde
Shows up as: Kaposvári Rákóczi
Should be: Kaposvári Rákócz OR Kaspovari Rakocz
有什么我可以做的转换第一,第二通过php?还有很多其他的例子,这些都是我很快发现的。
编辑:我不确定颜色问题。它们没有任何意义。编辑2:xml已经包含了我写的"Show up"状态的单词。并不是我看错了。xml显示Skövde,我读到Skövde。应该是Skövde。现在我需要把它转换成应有的样式
看起来您正在正确地读取XML(即您从XML文档中获得utf-8字符串),但是您没有正确显示它们。
您在一个非utf-8的页面中显示utf-8字符串。
您必须在显示字符串之前转换它们:
(假设页面的编码是iso-8859-1;如果你不知道,请查看浏览器中的页面信息)
mb_convert_encoding($str, "iso-8859-1", "utf-8");
或者将页面的字符集设置为utf-8:
header('Content-Type: text/html; charset=utf-8');
// or (in html) :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>