很抱歉,如果这个问题已经存在,但我需要一种更实际的方法:
页面设置如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
稍后在php中使用以下行
$v .= "<a href='" . $videoEntry->getVideoWatchPageUrl() . "' rel='vidbox' title='" . $videoEntry->getVideoTitle() . "'><img src='";
...
$v .= "<td width='52%' height='16'><strong>Visualizações:</strong> " . $videoEntry->getVideoViewCount() . "</td>"
;
确定。现在
当我做的时候
echo $v;
ItajubáemFoco Canal20 Oficina de Cuidados Paliativos(正确)
Visualiza es:204 //(不正确)
如果我尝试
echo utf8_encode($v);
ItajubáemFoco Canal20 Oficina de Cuidados Paliativos //(不正确)
Visualizações:204 //(正确)
我尝试使用
标题('Content-type:text / html; charset = utf-8');
但没有成功。
答案 0 :(得分:1)
确保您使用的编辑器正在以UTF-8保存文件!其中一些似乎来自一个数据库,它必须以UTF-8存储(或者做
)mysql_query("SET NAMES utf8");
将连接切换为UTF-8。
如果编辑器未将文本(“Visualizações”)保存为UTF-8,则应使用编辑器或其他工具(如“iconv”)转换文件。
祝你好运,答案 1 :(得分:1)
如果来自数据库的数据以UTF-8的形式出现,但是.php文件本身的静态内容不是,这意味着你没有将PHP文件本身保存为UTF-8你的文字编辑器。可能你保存为Windows代码页1252(西欧);确保在保存对话框中更改它(到UTF-8;如果有'UTF-8无BOM的单独选项'选择它,因为UTF-8-with-BOM完全是假的)。
如果文本编辑器稍后在加载文件时错误符号,则需要告诉它默认以UTF-8模式加载文件。如果它没有那个选项,那就是垃圾,应该更换。如果你真的无法替换它,你将不得不放弃源文件中的Unicode字符并对它们进行编码,如HTML:
Visualizações
或者,特别是在PHP字符串文字中:
"Visualiza\xE7\xF5es"
顺便说一句,当您将文本放入HTML时,您需要使用htmlspecialchars
,否则您会遇到XSS错误。