我在浏览这个问题时没有找到答案所以我想问它没关系......
我的PHP代码从我的Mysql数据库中读取一个字符串并打印出来,这里是代码
$sql2=mysql_query("SELECT * FROM Corsi WHERE Nome='$Ln_1[Ln_1]'");
$Ln_1_a = mysql_fetch_array($sql2);
$Ln_1_descr = $Ln_1_a[5];
但是'è''''''等特殊字符打印为' '。 我的Mysql编码是utf8,在我的html标题中我有utf8编码,所以这有什么问题?
提前致谢
答案 0 :(得分:2)
首先,在数据库选择之后的MySQL连接开始时,您应该放置此查询:
mysql_query('SET NAMES utf8');
然后确定,您的网页有UTF-8
编码(我猜你使用的是HTML,所以看起来应该是这样的:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
)以及您的脚本文件必须以UTF8
编码保存。
但是我必须提醒mysql_*
函数已被弃用,由于您的查询安全,您应该使用mysqli_*
或PDO代替prepared statements。
答案 1 :(得分:1)
尝试(在mysql_connect之后)执行mysql_query('SET NAMES utf8')
。并检查,如果字体支持这些字符。
答案 2 :(得分:0)
使用utf8_decode功能
像这样$Ln_1_descr = utf8_decode($Ln_1_a[5]);
答案 3 :(得分:0)
使用htmlspecialchars($yourvariable, ENT_NOQUOTES, "UTF-8")
同时验证您的MySQL配置文件是否为:
[客户] 默认字符集= UTF-8
[MySQL的] 默认字符集= UTF-8
此外,utf8_encode()和utf8_decode()也适用于你。