我正在使用htmlentities,它正在转换带有重音的字符,但它不会转换这种类型的引号。相反,浏览器显示一个奇怪的符号,带有问号。
如何转换这些显示为符号的字符?那本叫《你好,色彩》的书在table上。
我试过这个命令,但它不工作:
htmlentities($message);
htmlentities($message, ENT_QUOTES, 'UTF-8');
htmlentities($message, ENT_NOQUOTES, 'UTF-8');
htmlentities($message, ENT_COMPAT, 'UTF-8');
谢谢你。
我刚意识到一件奇怪的事情,如果我做以下的事情
echo $message; die();
显示一个白色的页面,用于调试报价显示!那么到底发生了什么?为什么它不能正确显示在网站页面?:S
3条答案
按热度按时间sf6xfgos1#
看起来你在浏览器中错过了字符集规范,
试着把
<meta charset="UTF-8">
这个加到你的网页标题部分。我以前遇到过这样的问题,以UTF-8显示多语言文本,我也这样做来解决这个问题。希望这能有所帮助
BTW
对于HTML 5
<meta charset="UTF-8">
工作在HTML4情况下
如果是XML,则必须指定
这里是你能得到所有信息的地方
Declaring character encodings in HTML
有几种方法可以设置内容字符集,甚至可以设置服务器始终呈现utf-8,您可以在server setup部分阅读更多信息。
在评论区跟你聊过之后,
你测试把字符集ISO-8859在网页和它的作品,这清楚地证明了你是在ISO的内容,而不是在UTF-8
可能你的mysql数据库不是UTF-8,我想这就是为什么它发送ISO文本到前面,你可以改变数据库到UTF-8通用ci或ISO latin1这是可行的,我建议你改变数据库到utf-8通用ci,因为你已经有html页面的头部设置为utf-8,这将解决你的问题。
此外,如果你不能改变数据库,那么你已经知道它在ISO字符集,所以改变所有的Joomla模板头ISO字符集。
看起来像这样
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
或
在PHP中
通过删除现有的字符集utf-8声明。
zzwlnbp82#
试试下面的代码,它为我工作:
结果:
vjhs03f73#
我的问题很简单:
当我在开发者面板的Elements选项卡中输入它时,它不起作用。但是当我把它输入到我的代码中并重新加载页面时,它起作用了。
这是因为浏览器在加载页面时会将其转换为正确的字符,但当您在开发人员面板中输入实体id时不会转换。