【发布时间】:2016-08-03 15:08:11
【问题描述】:
我有一个需要为用户显示记录的数据库。我正在使用 htmlentities 来确保没有像这样向用户回显恶意代码:
function h($string) {
return htmlentities($string, ENT_SUBSTITUTE, "UTF-8");
}
然后在我向用户输出任何条目时调用该函数。问题是我需要能够显示丹麦字符 ÆØÅ 并且这些字符在正方形中显示为问号。该网站也有 utf-8 编码。
我已经尝试了 php.net 上 htmlentities 下列出的所有内容,并尝试找到一些解决方案来创建异常或其他解决方法,但我找不到任何解决方案。
有人知道这个问题的解决方法吗?
【问题讨论】:
-
我在你的问题中运行了你的代码,它对我有用。
-
尝试进行初始查询
SET NAMES utf8。如果你使用 mysqli,你可以这样做:mysqli_set_charset($link, "utf8");或者如果你使用 PDO,你可以在建立连接时设置编码"mysql:host=$host;dbname=$db;charset=utf8"。看到这个问题:stackoverflow.com/questions/4361459/php-pdo-charset-set-names -
如果答案不在此范围内,我会很惊讶:stackoverflow.com/questions/279170/…
-
@Ultimater 谢谢!!如此容易,却又如此难找!确实在连接中定义字符集解决了它!