2014-02-27 88 views
-2

我使用MySQL 5.5版本MySQL&PHP特殊字符问题

当我尝试在数据库中插入'特殊字符时,它会自动转换为'。

我将数据库字符集更改为utf8 & character_set_connection to utf8但我无法获得预期的结果。

如何解决这个问题?

好心帮这个

回答

0

你需要检查你是如何发送数据。 如果数据库中的字符集是utf-8,则需要像这样发送。

尝试之前的数据进行编码,这样的:

$sql = "INSERT INTO tablex(field) VALUES('".utf8_encode($mydata)."')"; 
-2

重要的是要确保您连接的每个部分都使用UTF-8是非常重要的,否则你will遇到问题。

下面我们将创建一个到数据库的utf8连接,执行set names这非常重要,然后使用utf8_encode方法编写。

mysql_connect("host", "user", "pass"); 
mysql_query("SET character_set_results=utf8"); 
mysql_set_charset('utf8'); 
mb_internal_encoding('UTF-8'); 
mysql_select_db("my_db"); 
mysql_query("set names 'utf8'"); 

$sql = "INSERT INTO `table`(`foo`) VALUES('".utf8_encode($bar)."')"; 
+1

虽然这可能是正确的,解释将是有益的。 –