我最近在网站上工作(localhost环境)。 今天我在网上制作了一个非常奇怪的问题:
当我尝试从我的数据库输出UTF-8字符(希伯来语)时它工作得很好,但当我尝试回复简单文本时(例如:echo“שלום”;)我得到问号(不是那些带有问号的那些)黑色背景)。
我试图寻找解决方案,但没有找到。我希望你们能帮助我这个
答案 0 :(得分:1)
要检查的事项:
您是否尝试告诉客户端浏览器您正在使用的字符集:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
(<meta charset="utf-8"> vs <meta http-equiv="Content-Type">)
您的文件/编辑器是否设置为UTF-8? Eclipse默认为cp1252,常见的Windows编辑器默认为ISO-8859-1或UCS-2。
在您的php.ini文件中,确认default_charset = "UTF-8"
(请参阅http://www.php.net/manual/en/ini.core.php#ini.default-charset)
强制HTTP事务中的内容类型(通过响应标头):header('Content-type: text/html; charset=utf-8');
确保在将任何内容刷新到浏览器之前包含此内容。
答案 1 :(得分:0)
您的代码文件中的编码错误。您的编辑器保存错误,您可能也没有费心为“内容类型”发送HTTP标头,而您的localhost也没有,但您的在线服务器现在没有。
更改编码,一切都会好的。
答案 2 :(得分:0)
我最近遇到了这个问题。使用此代码解决它:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">