【发布时间】:2011-03-23 14:52:53
【问题描述】:
当我将一些用 Unicode 编写的文本插入数据库时,它们变成了问号。数据库编码设置为 UTF-8。还有什么可能是不正确的?当我检查 phpMyAdmin 时,只插入了问号!
这是我用来连接数据库的代码:
define ("DB_HOST", "localhost"); // Set database host
define ("DB_USER", "root"); // Set database user
define ("DB_PASS","password"); // Set database password
define ("DB_NAME","name"); // Set database name
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysql_select_db(DB_NAME, $link) or die("Couldn't select database");
mysql_set_charset('utf8',$link);
mysql_query("SET CHARACTER SET utf8");
【问题讨论】:
-
您使用哪个模块与 MySQL 通信? mysql, mysqli, pdo-mysql, ... ?数据也是正确的 utf-8 编码的吗?您在哪里看到的字符是问号?
-
我添加了 mysql_query("SET NAMES 'utf8'"); mysql_select_db 之后问题就解决了!