在插入数据库时出现奇怪字符的问题,已经不知疲倦地试图找出问题,但我没有想法......
基本上,如果我像这样插入这些数据(这只是测试):
$valy = "…industry's favorite </em><strong><em>party of the year</em></strong><em>, </em><a href='http://www.unitingagainstlungcancer.org/getinvolved/strolling-supper-with-blues-news'><span class='s1'><em>Joan's…";
$valy = mysql_real_escape_string($valy);
$query = "INSERT INTO test_table (data) VALUES ('".$valy."')";
mysql_query($query,$dbhandle);
这将最终出现在数据库中(注意A字符):
“...业界最喜欢的 年度派对 , http://www.unitingagainstlungcancer.org/getinvolved/strolling-晚饭与 - 蓝调新闻&GT;琼的......“
我试图排列所有角色设置:
php default_charset = utf-8
mysql table & row charset = utf-8
Mysql instance variables:
character set client utf8
(Global value) latin1
character set connection utf8
(Global value) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Global value) latin1
character set server latin1
character set system utf8
这个问题可能是什么?
答案 0 :(得分:1)
您可能缺少的一件事是您设置连接时。在那里你还应该将编码设置为utf8。
示例:
$link = mysql_connect('localhost', 'user', 'password');
mysql_set_charset('utf8',$link);
但是,不要使用mysql扩展名,不推荐使用它:http://php.net/manual/en/function.mysql-set-charset.php
答案 1 :(得分:1)
尝试将mysql连接设置为UTF-8:
mysql_query("SET NAMES 'utf8'");