zoukankan      html  css  js  c++  java
  • mysqldump之字符集问题解决

      最近导数据的需求真多,年底了大家都要做分析吗?近期使用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自身的设置 第二、服务器的字符集设置 第三、使用工具的字符集设置

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

    +--------------------------+-----------------------------------------+
    | Variable_name            | Value                                   |
    +--------------------------+-----------------------------------------+
    | character_set_client     | utf8                                    | 
    | character_set_connection | utf8                                    | 
    | 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/ | 
    +--------------------------+-----------------------------------------+

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

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

    echo $LANG
    en_US.UTF-8

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

    file activity.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,问题顺利解决。

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

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

      

  • 相关阅读:
    C#学习笔记——释放资源
    C#学习笔记——窗口停靠控件WeifenLuo.WinFormsUI.Docking使用
    C#学习笔记——查询串口被占用
    C#学习笔记——调试
    C#学习笔记——datagridview 控件 配置遇到的问题
    【转载】焊缝跟踪技术的发展与应用现状
    C#学习笔记——Convert.ToDouble与Double.Parse与Double.Parse
    C#学习笔记——Trim()、TrimStart()、TrimEnd()的用法
    C#学习笔记——DataGridView功能总结
    360自带--JS开发工具箱
  • 原文地址:https://www.cnblogs.com/billyxp/p/3488319.html
Copyright © 2011-2022 走看看