當我從數據庫中取值時,我覺得出了點問題。但是 我找不到該錯誤。我也試過以下代碼。
您需要確保從連接,數據庫到表的所有鏈都是UTF8清理。我有一個詳細的答案a similar question here。
但在你的情況,檢查實際的MySQL服務器my.cnf
文件。下面將整個產業鏈設置爲UTF-8:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
更直接的是,看看你的代碼:
mysql_query("set collation_connection='utf8_sinhala_ci'");
$result = mysqli_query($this->connecDB,"SELECT * FROM pageContent");
在一個行,你在呼喚mysql_query
,並在下次呼籲mysqli_query
。但是這些是不應該一起使用的相互矛盾的方法。它應該僅僅是mysqli_query
像這樣:
mysqli_query($this->connecDB, "SET collation_connection='utf8_sinhala_ci'");
$result = mysqli_query($this->connecDB,"SELECT * FROM pageContent");
注意我怎麼你SET collation_connection='utf8_sinhala_ci'
之前設置mysqli_query($this->connecDB,…
。這將在您使用$result
的同一連接上發送查詢。或者你可以試試這個:
mysqli_query($this->connecDB, "SET NAMES 'utf8'");
$result = mysqli_query($this->connecDB, "SELECT * FROM pageContent");
非常感謝您的幫助。現在它的工作:) – tishantha
其實,你需要[使用'utf8mb4'而不是'utf8'](http://mths.be/utf8mb4)來支持完整的Unicode。 –