我有这些汉字:
汉字/漢字''test
如果我这样做
echo utf8_encode($chinesevar);
显示
??/??''test
即使我只是做一个简单的
echo $chinesevar
它仍会显示一些奇怪的字符......
那么如何在不使用< meta>的情况下显示这些汉字。标签与UTF-8 thingy ..或ini_set UTF-8的东西,甚至是UTF-8的header()东西?
答案 0 :(得分:14)
简单:
输出一个HTTP标头,指定浏览器使用UTF-8解释页面:
header('Content-Type: text/html; charset=utf-8');
完成。
utf8_encode
用于将Latin-1编码的字符串转换为UTF-8。你不需要它。
有关详细信息,请参阅Handling Unicode Front To Back In A Web App。
答案 1 :(得分:1)
看看您的文件是UTF8而没有BOM,并且您的网络服务器以UTF-8提供您的网站
<强> HTML:强>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
PHP中的:
header('Content-Type: text/html; charset=utf-8');
如果您使用数据库查看,如果您从数据库中读取文本,则表明您的数据库是UTF-8。
答案 2 :(得分:1)
$ chinesevarOK = mb_convert_encoding($ chinesevar,'HTML-ENTITIES','UTF-8');
答案 3 :(得分:0)
或许看一下以下解决方案:
将您的html设置为utf8
连接数据库后,将以下行添加到您的php
mysqli_set_charset($ CON,&#34; UTF8&#34);
答案 4 :(得分:0)
将源代码保存为UTF-8 No BOM