mysql 乱码问题
mysql 乱码 问题
2023-09-27 14:26:06 时间
问题描述:使用sqlyog工具查询表中数据,中文则显示为乱码。
首先确认在ecplise项目与mysql数据库都是UTF-8字符集。
解决过程:
在my.ini文件中新增default-character-set=UTF8,重启mysql服务器启动失败。查原因,说是这个参数是5.1之前版本会取这个参数。5.5版本后,参数名称变化了。
当前mysql版本为5.6。再次修改为character-set-server=utf8,重新启动服务。服务启动成功。
再次查看,中文仍显示为乱码。
后在ecplise项目中,重新向表中生成数据。新生成的数据,在sqlyog中查询中文显示正常,而原来乱码的数据仍显示乱码。
看到网上有说“MySQL要支持完整的中文字符集,应该设置为GBK编码。”,将utf8修改为GBK后,重新生成的数据,中文也显示正常。
难道是数据库中一定要有这个character-set-server?将配置文件中此参数值注释掉后,重新插入数据,测试发现中文又显示为乱码了。
同时需要关注:
1、数据库字符集,比如为utf-8.
2、数据库创建表时为表设置的字符集,表中字段的字符集。尤其是开始数据库字符集设置错误的情况下,需要同步修改。
查看设置字符集
# 查看MySQL字符集设置情况 show variables like 'character_set%'; # 查看库的字符集 show create database db; # 查看表的字符集,实际为查看表的建表SQL show create table db_tb\G # 查询所有 show collation; # 设置表的字符集 set tables utf8;
解决方法:
1>系统方面 cat /etc/sysconfig/i18n LANG="zh_CN.UTF-8" 2>客户端(程序),调整字符集为latin1。 mysql> set names latin1; #临时生效 Query OK, 0 rows affected (0.00 sec) #更改my.cnf客户端模块的参数,实现set name latin1 的效果,并且永久生效。 [client] default-character-set=latin1 #无需重启服务,退出登录就生效,相当于set name latin1。 3>服务端,更改my.cnf参数 [mysqld] default-character-set=latin1 #适合5.1及以前版本 character-set-server=latin1 #适合5.5 4>库、表、程序 #建表指定utf8字符集 mysql> create database nick_defailtsss DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec)
看到一篇文章,详细介绍了乱码:FaceBook专家:10分钟彻底解决MySQL乱码问题?
目录如下:
Part 1 字符集和字符编码 · 什么是字符集 · 什么是字符编码 · UTF-8和Unicode的关系 · UTF-8编码简介 · 为什么会出现乱码 · 如何识别乱码的本来想要表达的文字 · 常见问题处理之Emoji Part 2 MySQL乱码 · MySQL出现乱码的原因 · 如何避免乱码
相关文章
- Dapper操作MySQL数据库获取JSON数据中文乱码
- MySQL数据库解决乱码 latin1 转 gbk
- MySQL的KEY分区存在BUG,请慎用
- MySQL第七讲 MySQL的高可用方案
- 十三、Mysql - GTID主从复制 - MHA架构 - 数据库优化
- mysql 1
- 解决kettle在两个mysql之间迁移数据时乱码的问题 和 相关报错 及参数调整, 速度优化
- MySQL 之 query cache
- 《MySQL排错指南》——4.1 物理硬件限制
- 基于Java(SSM)+MySQL实现个人博客网站【100010083】
- javaweb 乱码---汉字存入mysql数据库中变成乱码
- MySQL各存储引擎
- WordPress 基础问题100系列之 03宝塔mysql内存占内存高数据库崩溃 腾讯云
- mysql的中文乱码问题
- 把mysql编码改成utf8
- Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库
- mysql 存储过程中文乱码的解决方法
- 【MySQL】磁盘写满之后,数据库show status受到阻塞的原因
- ubuntu navicat110 for mysql 装配与破解
- Python写MySQL数据库乱码
- 如何使mysql生成.db文件
- MySQL如何永久解决由dos编码格式导致MySQ的显示乱码
- 解决MySQL Workbench导出乱码问题
- MySQL学习 [第一天] ——数据库的基本操作 Ⅰ