Heim > Datenbank > MySQL-Tutorial > mysql把latin1编码的中文转成gbk(或utf8)编码

mysql把latin1编码的中文转成gbk(或utf8)编码

WBOY
Freigeben: 2016-06-07 17:40:37
Original
1682 Leute haben es durchsucht

很多项目在初建时由于工程师不严谨或者水平不够选用了错误的数据库编码,用latin1编码存储中文数据,随着项目复杂程度提高,会出现各种编码问题,可以说是后患无

很多项目在初建时由于工程师不严谨或者水平不够选用了错误的数据库编码,用latin1编码存储中文数据,随着项目复杂程度提高,会出现各种编码问题,可以说是后患无穷,网站空间,经过反复测试,网站空间,我总结出一个办法可以把latin1编码的数据库转换成gbk或u8编码,与大家分享

一. latin1 转 gbk

1.导出数据库
mysqldump --default-character-set=latin1 -h xxx.xxx.xxx.xxx -u xxx -P 3306 -pxxxxxxxx db_name table_name > /usr/home/wanghui3/table_name.sql

2.修改 table_name.sql

/*!40101 SET NAMES latin1 */;  改为 /*!40101 SET NAMES gbk */;

建表语句中
 DEFAULT CHARSET=latin1;  改为  DEFAULT CHARSET=gbk;

注:不同版本的mysqldump可能稍有出入

3.导入数据库
mysql -uroot -pxxxxxxxx  db_name

二. latin1 转 utf-8

1.第一步不变

2.转换编码
iconv -t utf-8 -f gbk -c table_name.sql > table_name_u8.sql
注意:用latin1保存中文本就是错误的,香港服务器,表中存储的是错误的latin1编码,但实际上是正确的gbk编码,所以这里输入编码应为gbk

3. 修改table_name_u8.sql,找到 latin1 都改为 utf8

4.导入数据库
mysql -uroot -pxxxxxxxx  db_name
=======================================================

查看系统的字符集和排序方式的设定可以通过下面的两条命令:

mysql> SHOW VARIABLES LIKE 'character%';

mysql> SHOW VARIABLES LIKE 'collation_%';

本文出自 “上帝学编程” 博客,请务必保留此出处

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage