因為用status命令檢視,預設的
server characterset: latin1
db characterset: latin1
都是latin1,
所以先修改伺服器編碼修改如下
ubuntu系統如下修改
最新mysql版本見 1.
2.建立資料庫的時候選擇編碼為utf8_general_ci#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
3 . 建立表字段的時候,設定編碼utf8_general_ci
例如
mac下如下修改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;
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...