关于解决使用sqoop导出数据到mysql中文乱码问题!!!

当我们使用mysql的时候一般情况下都会出现乱码情况,出现这种情况的主要原因一般就是导入的数据和mysql数据的原始编码方式不同造成的,下面就是我的乱码案例:

关于解决使用sqoop导出数据到mysql中文乱码问题!!!

咱们先看下自己的编码表

一般输入下面这个命令:show variables like 'character%';能查看到以下内容

 

关于解决使用sqoop导出数据到mysql中文乱码问题!!!

不管你的是不是和上面这张表一样,但是一定在你修改之后要和下面这张表一样,

关于解决使用sqoop导出数据到mysql中文乱码问题!!!

所以在你对需要的字符集编码格式进行修改之后要和这个表格一样

分为win和linux的(看红字):

win版本如下:

 

        (1):进入mysql的安装目录,找到my-default.ini或者my.ini配置文件,你可以将my-default.ini修改成my.ini,影响不大的;

        (2):我的my.ini只有一个[mysqld]标签,其他均处于注释状态,我们在my.ini里面做两件事

                在[mysqld]标签下添加:character-set-server=utf8

                增加一个[client]标签,并且在[client]标签下添加:default-character-set=utf8

        (3):到任务列表中重启mysql服务;

        (4):进入dos界面,登录数据库,输入命令:show variables like "%char%";如果dos界面出现的下

linux的如下(centos7)

:mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server = utf8

#ql  Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 

执行完上面的步骤时候一定要重启mysql服务:

service mysqld start

再次进去输入:show variables like 'character%';

出现第三张图片  就ok了    有什么问题  可以在下方留言!!!