惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
Y
Y Combinator Blog
博客园 - 聂微东
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
小众软件
小众软件
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
B
Blog
H
Help Net Security
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
月光博客
月光博客
博客园 - 司徒正美

博客园 - 孙飞

关于 万网姓名域名免费注册活动,截止到12月31日 什么是域名?世界上第一个被注册的域名是什么? 阿里云优惠券活动持续不断,推荐者与被推荐者互利共赢 国外超便宜年付10美元vps提供商123Systems继续推出优惠套餐 不用转换成csv格式,PHPExcel轻松生成和导入excel表格 网站制作中灵活运用ajax技术代替页面切换的优势 为什么中国有那么多忠实的ie6用户? 网站访问慢的真实原因,如何提高网站访问速度 阿里云主机和linode的vps使用体会 企业营销人员如何利用网站获得更多订单 为什么不建议用img标签来控制图片大小 网站可访问的目录下不要放备份文件 初学者用div+css结构写网页的几个误区 警惕网站sql注入漏洞,时刻关注网络安全 ie6下div标签里的img使底部多出4像素的解决方案 css样式中input和img在同一行居中对齐 网站制作细节之:能否别再出现“今天是112年……” 网站制作细节之:背景图片的repeat合理利用
Mysql数据库字符集设置为Latin1导致的中文乱码解决办法
孙飞 · 2012-12-30 · via 博客园 - 孙飞

最近遇到一个很棘手的问题,从一个较早创建的Mysql数据库中导出数据,并且要对数据表结构进行改造,发现导出的数据内容中的中文全部是乱码,由于服务器管理人员限制,用phpmyadmin无法查看原数据库内容,无法得知数据库中的内容是否乱码,但可以看到数据库和数据表的字符集均为Latin1_swedish_ci,是拉丁字符集,由于公司内部有专门的导出数据的脚本,所以导出数据时一直使用的都是这个脚本,只需要修改数据库的连接信息就可以,但不管怎么导出都是乱码。 后来在经理的指点下修改了脚本中连接字符集的编码为Latin1,再导出的数据内容中文字符就正常显示了。查阅资料得知,数据库中字符集的编码并不只是包括数据库和数据表,还有客户端、服务器端、连接字符集,而导出数据的脚本是逐行读取然后写入sql文件的,由于脚本默认的字符集是gbk,而数据库的连接的字符集是Latin1,二者编码不一致导致导出的中文为乱码,只要在导出数据时将字符集设置为同数据库连接字符集一致就可以解决问题。 以上的问题也提醒了我们在创建数据库时要兼顾到程序代码使用的是什么编码,正确的设置数据库、数据表、连接字符集的编码,为之后数据的迁移、数据库结构的调整减少不必要的麻烦。 以下是查看字符集和排序方式的命令,用phpmyadmin可以直接用sql方式运行myql>之后的命令: mysql> SHOW VARIABLES LIKE 'character_set_%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | latin1 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 7 rows in set (0.00 sec) mysql> SHOW VARIABLES LIKE 'collation_%';  +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | latin1_swedish_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec)