我有这些汉字:
汉字/漢字''test
如果我做
echo utf8_encode($chinesevar);
它显示
??/??''test
或者即使我只是做一个简单的
echo $chinesevar
它仍然显示一些奇怪的字符...
那么,如果不使用带有 UTF-8 的 <meta> 标记 .. 或带有 UTF-8 的 ini_set UTF-8 甚至 header() 的东西,我将如何显示这些汉字呢?
我有这些汉字:
汉字/漢字''test
如果我做
echo utf8_encode($chinesevar);
它显示
??/??''test
或者即使我只是做一个简单的
echo $chinesevar
它仍然显示一些奇怪的字符...
那么,如果不使用带有 UTF-8 的 <meta> 标记 .. 或带有 UTF-8 的 ini_set UTF-8 甚至 header() 的东西,我将如何显示这些汉字呢?
简单的:
输出一个 HTTP 标头以向您的浏览器指定它应该使用 UTF-8 解释页面:
header('Content-Type: text/html; charset=utf-8');
完毕。
utf8_encode
用于将 Latin-1 编码的字符串转换为 UTF-8。你不需要它。
有关更多详细信息,请参阅在 Web 应用程序中前后处理 Unicode。
看看您的文件是 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 格式。
$chinesevarOK = mb_convert_encoding($chinesevar, 'HTML-ENTITIES', 'UTF-8');
Perhaps take a look at the following solutions:
Set your html to utf8
Add the following line to your php after connecting to the database
mysqli_set_charset($con,"utf8");
将源代码保存为 UTF-8 无 BOM