MySQL數據庫字符集亂碼及庫字符集更改

統一字符集保證不亂碼:建議中英文環境選擇utf8

1.linux系統語言

/etc/sysconfig/i18n

LANG="zh_CN.utf8"

 

2.mysql客戶端

臨時:

set names utf8;

永久:

配置文件my.cnf

[client]

default-charater-set=utf8


3.mysql服務端

[mysqld]

character-set-server=utf8

 

4.mysql建庫建表語句

指定字符集建庫

create database oldboy_utf8 default character set uft8 collate utf8_general_ci;

指定字符集建表

create table student (

id int(4) not null auto_increment,

name char(20) not null,

primary key(id)

)engine=inonodb auto_increment=10 default charset=utf8

 

5.開發程序的字符集


模擬將latin1字符集的數據庫修改成GBK字符集的實際過程

1.導出表結構

mysqldump -uroot -p --default-character-set=latin1 -d dbname >alltatale.sql

--default-character-set=latin1 latin1連接 -d只導表結構

2.編輯alltable.sqllatin1改成gbk

sed替換

3.確保數據庫不在更新,導出所有數據

mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 dbname >alldata.sql

 wKioL1hDvOXQXg4pAAKbP5wYnIA523.png

4.打開alldata.sqlset names latin1修改成set names gbk;(或者修改系統的服務端和客戶端)

5.建庫

create database dbname default charset bgk;

6.創建表,執行alltable.sql

mysql -uroot -p dbname<alltable.sql

7.導入數據

mysql -uroot -dbname < alldata.sql


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章