最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL数据库乱码-Linux下乱码问题一_MySQL

来源:动视网 责编:小采 时间:2020-11-09 18:43:42
文档

MySQL数据库乱码-Linux下乱码问题一_MySQL

MySQL数据库乱码-Linux下乱码问题一_MySQL:bitsCN.com MySQL数据库乱码-Linux下乱码问题一 乱码问题是很让人抓狂的问题,下面我将记录一下linux下mysql乱码问题的解决方法。 mysql在linux下乱码问题一、操作 mysql默认字符集是latin1,但是我们大部分程序使用的字符集是utf8,我们就需要修改mys
推荐度:
导读MySQL数据库乱码-Linux下乱码问题一_MySQL:bitsCN.com MySQL数据库乱码-Linux下乱码问题一 乱码问题是很让人抓狂的问题,下面我将记录一下linux下mysql乱码问题的解决方法。 mysql在linux下乱码问题一、操作 mysql默认字符集是latin1,但是我们大部分程序使用的字符集是utf8,我们就需要修改mys


bitsCN.com

MySQL数据库乱码-Linux下乱码问题一

乱码问题是很让人抓狂的问题,下面我将记录一下linux下mysql乱码问题的解决方法。

mysql在linux下乱码问题

一、操作

mysql默认字符集是latin1,但是我们大部分程序使用的字符集是utf8,我们就需要修改mysql的字符集了。

1)查看默认编码

show variables like 'character%';+--------------------------+----------------------------+ | 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/ | +--------------------------+----------------------------+ 

Mysql下默认的编码是latin1

2)查看默认排序方式

show variables like 'collation_%';+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | latin1_swedish_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | +----------------------+-----------------+ 

3)修改默认字符集

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

在[client]下添加如下语句

default-character-set=utf8

在[mysqld]下添加

default-character-set=utf8

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

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

4)另外一种修改字符编码方法

登录mysql后,输入如下内容

mysql> SET character_set_client = utf8 ; mysql> SET character_set_connection = utf8 ; mysql> SET character_set_database = utf8 ; mysql> SET character_set_results = utf8 ; mysql> SET character_set_server = utf8 ; mysql> SET collation_connection = utf8 ; mysql> SET collation_database = utf8 ; mysql> SET collation_server = utf8 ; 

5)重新查看

show variables like 'character%';+--------------------------+---------------------------------+ | 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/share/mysql/charsets/| +--------------------------+---------------------------------+show variables like 'collation_%';+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-----------------+ 

6)使用JDBC连接mysql时需要将连接字符串改为如下方式:

jdbc:mysql://localhost/mysql?useUnicode=true&characterEncoding=UTF-8

已utf8的方式连接

二、概念

character-set-server/default-character-set:服务器字符集,默认情况下所采用的。

character-set-database:数据库字符集。

character-set-table:数据库表字符集。

character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。

character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。

统一设置字符集编码使用语句:set names utf8

三、导入导出防止乱码

1.导出数据库使用命令(在cmd下输入)

mysqldump -u用户名 -p密码 -h服务器地址 数据库名称 --default-character-set=utf8 --hex-blob >导出数据库.sql

--default-character-set=utf8 代表使用urf8编码导出数据

--hex-blob 代表以16进制导出数据库

2.导入数据库使用命令(在cmd下输入)

mysql -u用户名 -p密码 -h服务器地址 数据库名称 --default-character-set=utf8 --hex-blob <导出数据库.sql

除了使用上面的命令导入数据库外,还可以登录mysql,使用source命令导入

mysql> source 导出数据库.sql

注:blob字段存放的是二进制数据,故其没有字符集编码,在window和linux使用以上方式还是会有乱码的问题,故建议将blob类型修改为text类型,才不会出现乱码。blob类型数据往text类型转换,自己写一个简单的代码,从blob读出数据以字符串的形式存到text字段即可。

bitsCN.com

文档

MySQL数据库乱码-Linux下乱码问题一_MySQL

MySQL数据库乱码-Linux下乱码问题一_MySQL:bitsCN.com MySQL数据库乱码-Linux下乱码问题一 乱码问题是很让人抓狂的问题,下面我将记录一下linux下mysql乱码问题的解决方法。 mysql在linux下乱码问题一、操作 mysql默认字符集是latin1,但是我们大部分程序使用的字符集是utf8,我们就需要修改mys
推荐度:
标签: 乱码 问题 数据库
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top