当我从数据库中取值时,我觉得出了点问题。但是 我找不到该错误。我也试过以下代码。
您需要确保从连接,数据库到表的所有链都是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。 –