ogg 登录mysql报字符集_mysqldump之字符集问题解决

 2023-09-18 阅读 25 评论 0

摘要:最近导数据的需求真多,年底了大家都要做分析吗?近期使用mysqldump导出的中文出现乱码问题。mysqldump -uroot -ppassword -S /tmp/mysql9991.sock test name > 1.txt首先想到的就是添加--default-character-set参数来强制制定UTF8字符集来解决mysqldump -uro

最近导数据的需求真多,年底了大家都要做分析吗?近期使用mysqldump导出的中文出现乱码问题。

mysqldump -uroot -ppassword -S /tmp/mysql9991.sock test name > 1.txt

首先想到的就是添加--default-character-set参数来强制制定UTF8字符集来解决

mysqldump -uroot -pTR4anis@xtooRz -S /tmp/mysql9991.sock test name --default-character-set=UTF8 > 1.txt

但是问题依然没有解决。思考涉及字符集的地方有三个,第一、mysql自身的设置 第二、服务器的字符集设置 第三、使用工具的字符集设置

mysqldump恢复数据库。1、首先,MySQL的字符集问题一般都比较闹心,主要由于MySQL的字符集设置的太多了,经常搞混,不细说了,如果单讲又能写一篇blog了。

+--------------------------+-----------------------------------------+

| Variable_name | Value |

+--------------------------+-----------------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

MySQL字符集。| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/local/mysql-5.5.31/share/charsets/ |

MySQL substring?+--------------------------+-----------------------------------------+

我们使用set names utf8来规避mysql端的字符集问题。

2、服务器的字符集问题也没有问题

echo $LANG

en_US.UTF-8

使用file命令查看显示为UTF8。

the type list is not generic?fileactivity.txt

activity.txt: UTF-8 Unicode text, with very long lines

3、本身CRT可以输入中文

那么到底是什么原因导致的呢?

最后突然发现mysqldump的版本是5.0.77而服务端mysql的版本是5.5.12,前后相差接近2个大版本。赶紧使用了5.5.12的mysqldump,问题顺利解决。

看来就是版本的问题了,环境一致性实在太重要了。出现字符集问题我们经常纠结于各个地方的字符设置,但是从上例看出,其实和字符集设置没有一点关系。

database character setal32utf8。强烈推荐所有mysql相关命令全部使用和mysql server端同版本的mysql的命令,这样可以避免一些不可预知问题的发生。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/76937.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息