使用linux客户端执行shell脚本创建数据库初始化数据库中文乱码问题

  1. 定义了一个shell脚本,可以根据其他的多个sql文件创建数据库,并且使用包含初始化数据的sql文件初始化数据库。

  2. 在windows下使用linux客户端连接到linux服务器,执行shell脚本后,发现创建出的数据库有中文乱码。

  3. 确定是字符集设置问题。查看数据库,发现字符集设置如下,很多还是 latin1。

    mysql> show variables like ‘character_set_%‘;
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | latin1 |
    | character_set_connection | latin1 |
    | character_set_database | latin1 |
    | character_set_filesystem | binary |
    | character_set_results | latin1 |
    | character_set_server | latin1 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |

  4. 修改默认字符集

     

  5. 修改文件/etc/my.cnf内容

     

    在[client]下添加如下语句

     

    default-character-set=utf8  

     

    在[mysqld]下添加


    default-character-set=utf8

     

    init_connect=‘SET NAMES utf8‘    ##设定连接mysql是使用UTF8编码

     

    修改好后,重启mysql服务即可


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。