當(dāng)你遇到Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value:

Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xE6\x88\x91\xE4\xBB\xAC...' for column 'content' at row 1



這種原因是字符集編碼導(dǎo)致的。
1、驗(yàn)證字符集
首先進(jìn)入mysql:

mysql  -u root -p


進(jìn)入之后輸入以下:

show variables like '%character%';



這里是輸入命令之后的視圖:

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)



你會(huì)看到| character_set_server | latin1 |
就是這個(gè)character_set_server等于latin1導(dǎo)致的錯(cuò)誤,需要手動(dòng)改文件
2、進(jìn)入my.cnf

vim /etc/my.cnf



編輯my.cnf
在[mysqld]下面

character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'



3、重啟mysql.

service mysql restart



4、再次登錄mysql,查看字符集

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)



出現(xiàn)以上視圖你就成功一半了

5、為什么成功一半呢?
需要把已經(jīng)建立好的數(shù)據(jù)庫(kù)和表格全部重新建吧



作者:Vam的金豆之路

主要領(lǐng)域:前端開發(fā)

我的微信:maomin9761

微信公眾號(hào):前端歷劫之路