mysql編碼問題

2021-07-14 12:57:32 字數 2130 閱讀 3795

因為用status命令檢視,預設的

server characterset: latin1

db characterset: latin1

都是latin1,

所以先修改伺服器編碼修改如下

ubuntu系統如下修改

最新mysql版本見 1.

#vim /etc/mysql/my.cnf 。(5.5以後系統)如下修改:

[client]

default-character-set=utf8

[mysqld]

default-storage-engine=innodb

character-set-server=utf8

collation-server=utf8_general_ci

2.建立資料庫的時候選擇編碼為utf8_general_ci

3 . 建立表字段的時候,設定編碼utf8_general_ci

例如

create

table

`articles` (

`id`

int(11) not

null auto_increment,

`title`

varchar(255) collate utf8_unicode_ci default

null,

`url`

varchar(255) collate utf8_unicode_ci default

null,

`body` text collate utf8_unicode_ci,

`publish_time`

varchar(255) collate utf8_unicode_ci default

null,

`source_site`

varchar(255) collate utf8_unicode_ci default

null,

primary

key (`id`)

) engine=innodb default charset=utf8 collate=utf8_unicode_ci;

mac下如下修改

1.拷貝/usr/local/mysql/my-default.cnf到桌面,然後直接編輯

在[client]下新增

default-character-set=utf8

在[mysqld]下新增

default-character-set=utf8

然後將此檔案拷貝到 /etc 目錄下

基本上不會有亂碼問題

2.重啟mysql,如果不能重起,可能檔案中的某些字段錯誤,終端輸入mysql –help,看提示解決問題

3.建立資料庫和表時,依照上面方法

對不同系統統一的設定方法(臨時設定,如果重啟會被重置)

mysql> set character_set_client=utf8;

mysql> set character_set_connection=utf8;

mysql> set character_set_database=utf8;

mysql> set character_set_results=utf8;

mysql> set character_set_server=utf8;

mysql> set character_set_system=utf8;

mysql> set collation_connection=utf8;

mysql> set collation_database=utf8;

mysql> set collation_server=utf8;

另外連線資料庫時,記得設定編碼,例如:

engine = create_engine('mysql+mysqldb://root:0321@localhost:3306/spider?charset=utf8')
其他就是程式編碼設定了,比如python開頭# -- coding: utf-8 --標識

這就是從資料庫到程式連線,然後寫入過程中編碼設定,這樣基本不會有亂碼問題。

mysql中的編碼問題 mysql編碼問題總結

網上查了一些mysql編碼相關的資料,在這裡整理下,不對的地方歡迎各位批評指正。character set server 預設的內部操作字符集 character set connection 連線層字符集 character set results 查詢結果字符集 character set da...

mysql編碼問題

首先設定mysql的編碼為utf8 在linux下修改 個my.cnf的 個 etc mysql my.cnf檔案 找到客戶端配置 client 在下面新增 default character set utf8 預設字符集為utf8 在找到 mysqld 新增 default character s...

mysql 編碼問題

1.資料庫 2.php檔案 3.頁面 mysql query set names utf8 utf8與utf 8 全部用gb2312 1.php檔案可用dw修改 頁面屬性來改變成改變成gb2312 2.必須使用set name utf8是屬於mysql資料庫的 utf 8是屬於頁面的 全部用utf8...