iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql乱码现象及对字符集的理解
  • 796
分享到

mysql乱码现象及对字符集的理解

2024-04-02 19:04:59 796人浏览 八月长安
摘要

数据库版本是5.7.17 现象1 Navicat Premium导sqlserver数据到Mysql时,发现一些表只导了表结构没有导入数据,一些表导入了部分数据,一些表数据全部导入成功 查找原因: 1.

数据库版本是5.7.17

现象1
Navicat Premium导sqlserver数据到Mysql时,发现一些表只导了表结构没有导入数据,一些表导入了部分数据,一些表数据全部导入成功

查找原因:
1.发现导入成功的数据都是没有任何中文的
2.在mysql上删除只导了表结构没有导入数据的表A,使用Navicat Premium重新表A,查看Navicat Premium导入日志[Err] [Row1] [Imp] 1366 - Incorrect string value: '\xE6\xAD\xA3\xE5\xB8\xB8...' for column 'colunmname1' at row 1
3.在sqlserver上查看select colunmname1 from A发现都是中文内容
至此查出原因:就是因为简体中文的原因,导致没有导入成功

解决方法
方法1:在mysql上查询表A的建表语句show create table A,发现建表语句最后是CHARSET=latin1,重新修改表A的建表语句把CHARSET=latin1改成CHARSET=utf8,再删除表A,再重新建立表A,再导表就OK了


方法2:mysql -uroot -p123456
mysql>show variables like 'char%';发现库里面的字符集character_set_database是latin1
修改/etc/my.cnf新增如下配置
[mysqld]下新增character-set-server=utf8
[mysql]下新增default-character-set=utf8
[client]下新增default-character-set=utf8
service mysqld restart
再在mysql上drop导入没有完全成功的表,再重新导表(当然在个人实验中,导入还是继续报错的,因为mysql -uroot -p123456进去后没有选择库,修改后只是新增库的字符集会变成utf8,当然选择了库也没用,虽然重启了数据库,但表A对应的库如DATABASEA是修改配置之前建立的,它的字符集还是latin1,除非重建DATABASEA把字符集修改为utf8,这样风险太高,里面的东西都得重新弄过一次)



现象2
mysql字符集都是utf8了,但是在个人的windows机器上使用SQLyogEnt查询表A,发现中文乱码,加上语句后SET character_set_results=gbk后才不乱码
而在个人的windows机器上使用putty登录mysql服务器使用mysql>查询发现表A不乱码

原因:
个人电脑cmd输入chcp值是936对应简体中文
mysql服务器echo $LANG显示是zh_CN.UTF-8

在windows上通过工具SQLyogEnt连接mysql查询,其实是在windows上查询,使用的是windows的字符集gbk,但是mysql字符集是utf8,所以会乱码
在windows上通过putty连接mysql服务器查询,其实就是在mysql服务器端查询,mysql服务器字符集UTF-8,mysql字符集是utf8,所以不会乱码



理解
1.mysql安装后数据库字符集默认是latin1
2.my.cnf修改字符集配置并重启后,只是对新增的库生效,老库还是latin1,老库新增表也还是随老库latin1
3.库和表的字符集可以不一样,遇到问题评估下是重导表还是重导库
您可能感兴趣的文档:

--结束END--

本文标题: mysql乱码现象及对字符集的理解

本文链接: https://www.lsjlt.com/news/46987.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql乱码现象及对字符集的理解
    数据库版本是5.7.17 现象1 Navicat Premium导sqlserver数据到mysql时,发现一些表只导了表结构没有导入数据,一些表导入了部分数据,一些表数据全部导入成功 查找原因: 1....
    99+
    2022-10-18
  • mysql中字符集乱码如何解决
    本篇文章给大家分享的是有关mysql中字符集乱码如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。解决mysql字符集乱码的问题 ...
    99+
    2022-10-18
  • MySQL中文乱码处理_字符集转换处理
    -- 中文乱码修复 -- 查看MySQL服务参数设置mysql> show variables like '%character%';+--------------------------+-----...
    99+
    2022-10-18
  • Oracle查看字符集,以及中文乱码的处理
    col VALUE format a20select PARAMETER,VALUE  from nls_database_parameters  where PAR...
    99+
    2022-10-18
  • springboot集成redis存对象乱码的问题及解决
    目录springboot集成redis存对象乱码话不多说上代码可以考虑使用StringRedisTemplete解决redis乱码问题直接添加一个配置类就行了springboot集成...
    99+
    2022-11-13
  • PHP字符集编码出现乱码怎么解决
    这篇文章主要讲解了“PHP字符集编码出现乱码怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP字符集编码出现乱码怎么解决”吧!要么页面原始汉字和从数据库里取出的汉字全是乱码;要么原...
    99+
    2023-06-17
  • MySQL数据库基础(二)——MySQL字符集与乱码解析
    MySQL数据库基础(二)——MySQL字符集与乱码解析 一、字符集与编码 1、字符集简介 字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Charac...
    99+
    2022-10-18
  • 第09期:有关 MySQL 字符集的乱码问题
    相信大家通过前几篇文章,已经了解了 MySQL 字符集使用相关注意事项。那么数据乱码问题在这儿显得就非常简单了,或许说可能不会出现这样的问题。 数据之所以会乱码,在 MySQL 里无非有以下几类情况: 一、转码失败 在数据写入到表的过程中...
    99+
    2018-01-21
    第09期:有关 MySQL 字符集的乱码问题
  • Mysql字符集设置乱码的原因有哪些
    这篇文章主要介绍了Mysql字符集设置乱码的原因有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基本概念• 字符(Character)是...
    99+
    2022-10-18
  • JDBC对Mysql utf8mb4字符集的处理
    在开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围 在存储数据时, 出现部分特殊字符存储字符串失败. ...
    99+
    2022-10-18
  • mysql数据库应用管理+乱码+字符集的示例分析
    这篇文章主要为大家展示了“mysql数据库应用管理+乱码+字符集的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql数据库应用管理+乱码+字符集的...
    99+
    2022-10-19
  • mysql字符转化出现乱码的原因
    这篇文章主要介绍“mysql字符转化出现乱码的原因”,在日常操作中,相信很多人在mysql字符转化出现乱码的原因问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql字符转...
    99+
    2022-10-18
  • 详解Python字符串对象的实现
    PyStringObject 结构体 Python 中的字符串对象在内部对应一个名叫 PyStringObject 的结构体。“ob_shash” 对应字符串经计算过的 hash值, “ob_sval” 指...
    99+
    2022-06-04
    字符串 详解 对象
  • 解决linux的redhat版上mysql字符乱码的问题
    linux上安装了mysql服务,默认的字符编码不是utf8,所以会出现中文乱码。 解决方案如下: 1、修改文件/etc/my.cnf,在mysqld配置的最后一行加上character-set-serve...
    99+
    2022-06-04
    乱码 字符 linux
  • MySQL 字符集概念与原理及如何配置字符集 - 超详细图文详解
    目录 一、字符集概念 1、字符(Character) 2、字符编码 3、字符集(Character set) 二、字符集原理 1、ASCII字符集 2、GB2312 3、GBK 4、GB18030 5、BIG5 6、Unicode 编码 三...
    99+
    2023-10-10
    mysql 数据库
  • mysql5数据库导出的字符集中文乱码怎么解决
    本篇内容主要讲解“mysql5数据库导出的字符集中文乱码怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql5数据库导出的字符集中文乱码怎么解决”吧...
    99+
    2022-10-18
  • 解决JavaEE开发中字符编码出现乱码的问题
    网上有很多处理字符编码的解决方案,在此,我站着前人的肩膀上作自己的总结。在我看来,出现乱码问题的解决方法无非就是在3个地方进行编码设置:HTML、JSP等前端页面;后台servlet中request和response对象;服务器配置文件。1...
    99+
    2023-05-31
    字符编码 乱码 javaee
  • MySQL出现乱码的原因及解决方法
    本篇内容主要讲解“MySQL出现乱码的原因及解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL出现乱码的原因及解决方法”吧!MySQL出现乱码的原...
    99+
    2022-10-18
  • Delphi连接mysql时的中文字符乱码问题怎么解决
    本篇内容主要讲解“Delphi连接mysql时的中文字符乱码问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Delphi连接mysql时的中文字符乱码...
    99+
    2022-10-18
  • Nodejs进阶之服务端字符编解码和乱码处理的示例分析
    这篇文章将为大家详细讲解有关Nodejs进阶之服务端字符编解码和乱码处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。写在前面在web服务端开发中,字符的编解码...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作