linux mysql 乱码问题
来源:互联网 发布:啾米网络是培训机构吗? 编辑:程序博客网 时间:2024/06/06 06:48
项目进行到和服务器交互,通过post访问服务器端jsp,jsp访问服务器端mysql数据库,最终返回到客户端的中文出现乱码问题。
在整个流程中,出现错误的原因可能是三个:post未设置编码或者编码不相符合,jdbc出现问题,linux下mysql初始码制问题。
在经过繁琐的排查后,最终确定问题为mysql编码问题。下文介绍如何解决linux下mysql中文乱码问题。
首先进入mysql命令行模式,键入mysql -uroot -p 即可进入。随后键入 SHOW VARIABLES LIKE 'character_set_%';
若显示内容类似这样:
+--------------------------+----------------------------------------------+
| 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 | /alidata/server/mysql-5.1.73/share/charsets/ |
则已修改正确,而mysql默认初始设置的都是latin1而非utf8。
一种解决方法是更改表格的属性设置为utf8或者在创建表格的时候在最后加上DEFAULT CHARSET=utf8。设置表格为utf8码。这样的方法有可能失效。
最根本的解决方法是打开mysql配置文件修改。linux下mysql配置文件名为my.cnf,目录为/etc/my.cnf,打开后按照以下操作:
--在 [mysqld] 标签下加上三行
default-character-set = utf8
character_set_server = utf8
lower_case_table_names = 1 //表名不区分大小写(此与编码无关)
--在 [mysql] 标签下加上一行
default-character-set = utf8
--在 [mysql.server]标签下加上一行
default-character-set = utf8
--在 [mysqld_safe]标签下加上一行
default-character-set = utf8
--在 [client]标签下加上一行
default-character-set = utf8
上述标签若未能全部找到也没关系。再次打开mysql命令行,执行SHOW VARIABLES LIKE 'character_set_%';后若仍存在latin1,则在mysql命令行下执行以下命令:
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
执行后再执行上述show 命令可得到目标结果。
设置完成后需要重新启动mysql,重启命令 /etc/init.d/mysqld restart 。
原数据表需要删除后重建。
最终完成,大功告成。
特记下,已备后日回顾。
- linux MYSQL 乱码问题
- mysql 乱码问题 linux
- linux mysql 乱码问题
- MySQL数据库乱码-Linux下乱码问题
- linux mysql出现乱码问题
- mysql linux下的乱码问题
- linux 下mysql中的乱码问题
- Linux中解决mysql乱码问题
- Linux中解决mysql乱码问题
- linux下mysql中文乱码问题
- 解决linux中mysql乱码问题
- linux mysql 插入显示乱码问题
- linux mysql 中文乱码的问题
- linux mysql 中文乱码的问题
- Linux下mysql 中文 乱码 问题
- mysql在linux下乱码问题
- Linux下mysql中文乱码问题
- linux下mysql中文乱码问题
- C#中的原子操作Interlocked你真的了解吗?
- (三) ElasticSearch基础知识
- C#--Winform项目核心--考勤模块(二)
- Comparable和Comparator接口
- MyBatis和Hibernate相比,优势在哪里?
- linux mysql 乱码问题
- Solaris命令行安装Oracle Solaris Studio报错
- 菜鸟篇--手把手教你制作机器人
- 友元函数/类
- pom.xml的常用配置
- caffe入门学习教程
- 移动端
- 最近用的Echarts的一些参数的理解,更新中......
- 这7种设计误区,会影响网页内容的体验