2012-02-22 39 views
0

我目前正在嘗試在PHP中用MySQL保存日文字符串。這些字符被保存爲問號。這是我的查詢:用PHP保存日文字符

mysql_query("SET NAMES 'utf8'"); 
mysql_query("SET CHARACTER SET 'utf8'"); 

$result = mysql_query("INSERT INTO battles (basic_words) VALUES ('".mysql_real_escape_string($basic_words)."'"); 

字符串「$ basic_words」肯定包含日文字符,但它們不會被保存。該聯盟該行 「basic_words」 是utf8_general_ci

+0

哪裏'$ basic_words'從何而來? – 2012-02-22 13:14:26

+0

$ basic_words來自我創建的類。在保存之前檢查字符串並確認字符正確/日語 – 2012-02-22 13:27:22

回答

3

php mysql query encoding problem表明

$db_con= mysql_connect('localhost', 'user', 'password'); 
if(function_exists('mysql_set_charset')){ 
    mysql_set_charset('utf8', $db_con); 
}else{ 
    mysql_query("SET NAMES 'utf8'", $db_con); 
} 

還要檢查http://php.net/manual/en/function.mysql-set-charset.php

+1

不完全確定,但設置「mysql_set_charset」並刪除「設置字符集...」似乎解決了問題。如果我現在刪除「mysql_set_charset」它仍然有效,奇怪,但確定。 – 2012-02-22 13:55:45

+0

但我絕對必須包含mysql_query(「SET NAMES'utf8'」); – 2012-02-22 13:56:56