首頁  >  文章  >  後端開發  >  thinkphp執行'set names utf8mb4'報錯

thinkphp執行'set names utf8mb4'報錯

WBOY
WBOY原創
2016-10-11 14:23:192830瀏覽

運行環境:sae + thinkphp
DB_CHARSET為utf8;(直接設定為utf8mb4會報錯,我也不知道為什麼。。。)
想支援emoji表情,測試程式碼如下
public function test(){

test(){

<code>    $model = M('');
    $model -> query('set names utf8mb4');
}</code>

錯誤提示 : [ SQL語句 ] : set names utf8mb4。 求大神給點指導,謝謝!

回覆內容:


運行環境:sae + thinkphp
DB_CHARSET為utf8;(直接設定為utf8mb4會報錯,我也不知道為什麼。。。)
想支援emoji表情,測試程式碼如下

public function test(){

test(){

<code>    $model = M('');
    $model -> query('set names utf8mb4');
}</code>
錯誤提示 : [ SQL語句 ] : set names utf8mb4。

求大神給點指導,謝謝!

<code>select version();  看下数据库版本,5.5以上才支持utf8mb4
</code>

Mysql::utf8mb4



1、檢查下mysql的版本;
mysql 5.5.3 之後的版本,增加utf8mb4字元集;之前的版本要先升級mysql server。

2、MySQL utf8mb4 字元集

修改 /etc/my.cnf

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4

collat​​ion-server = utf8mb4_unicode_ci

init_connect='SET NAMESAMES utf84'

重啟 MySQL Server、檢查字元集🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn