2015-06-30 31 views
2

我發現了很多問題的答案,但沒有成功。 我在我的MYSQL數據庫中有中文字符,當我在php中選擇我的字段時,我得到'???'而不是'我們的產品'。我能夠從php中將這些字符插入到我的MYSQL數據庫中。我無法從MYSQL獲取中文字符到PHP

隨着字符'éà'我沒有問題,讓他們在PHP中。

我的數據庫,表和字段編碼爲utf8_unicode_ci。還有就是我的PHP文件(也被編碼爲UTF-8):

<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
<?php 
$query = mysql_query("SELECT * FROM table"); 
$arr = mysql_fetch_array($query)) 
echo ($arr['field']); 
?> 

如果我更換這樣我的代碼它打印我們的產品:

$query = mysql_query("SELECT '我們的產品'"); 
arr = mysql_fetch_array($query) 
echo ($arr[0]); 

我希望我給了足夠的信息。

+1

的mysql_之前*功能過時。見http://docs.php.net/manual/en/mysqlinfo.api.choosing.php – VolkerK

回答

2

集字符集爲UTF8使MySQL查詢,類似這樣的

mysql_connect('localhost','mysql_user','your_password'); 
mysql_select_db('my_db') or die("Unable to select database"); 
mysql_set_charset('UTF8'); 
mysql_query('Your query here'); 
+1

謝謝!它工作 – chokichoc

+1

@chokichoc,很好,雖然我同意VolkerK說mysql_ *函數已被廢棄,但最好切換到PDO:http://php.net/manual/en/book.pdo.php或mysqli:http ://php.net/manual/en/book.mysqli.php – dav

+0

對於中文,utf8mb4會更好。有些字符僅在utf8mb4中存在。 –