Ubuntu中 MySQL 的中文編碼問題

惹是非發表於2018-09-18

使用Ubuntu在安裝好MySQL資料庫之後,如果直接建立資料庫,再建立資料表,那麼是無法向欄位插入中文的,會報Incorrect string value錯誤。

c實現編碼設定的兩種方法:

(1)動態設定

  建立資料庫:

  CREATE DATABASE PyDB

  CHARACTER SET `utf8`

  COLLATE `utf8_general_ci`;

  選擇此資料庫:

  USE PyDB;

  建立表:

  CREATE TABLE PyTable (

  username VARCHAR(10),

  useraddr VARCHAR(10)

  )ENGINE=InnoDB DEFAULT CHARSET=utf8;

(2)改變預設編碼

  在mysql下,先執行命令:SHOW variables LIKE `%char%`;

  檢視資料庫預設編碼是latin1。

  以root身份更改mysql的配置檔案

  在/etc/my.cnf 或 /etc/mysql/my.cnf 新增以下指令並儲存:

  [client]

  default-character-set = utf8

  [mysqld]

  default-storage-engine = INNODB

  character-set-server = utf8

  collation-server = utf8_general_ci

  然後重啟mysql:service mysql restart

  再次檢視:SHOW variables LIKE `%char%`;

  可以看到編碼已經是UTF8。

相關文章