mysql数据库乱码的问题解决

排查原因:打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的。

1、前者解决方案:

 在web.xml里面加上:

<filter>   <filter-name>encodingFilter</filter-name>   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>   <async-supported>true</async-supported>   <init-param:>      <param-name>encoding</param-name>      <param-value>UTF-8</param-value>   </init-param></filter><filter-mapping>   <filter-name>encodingFilter</filter-name>   <url-pattern>/*</url-pattern></filter-mapping>在配置jdbc数据源的时候加上:
jdbc:mysql://127.0.0.1:3306/logistics?useUnicode=true&amp;characterEncoding=UTF-8

2、若为后者存数据库操作后乱码,解决方案:登录数据库,执行如下sql:

  show variables like ‘character%‘;

  结果:

  | character_set_client     | utf8                                                   |

  | character_set_connection | utf8                                                   |

  | character_set_database   | latin1                                                 |

  | character_set_filesystem | binary                                                 |

  | character_set_results    | utf8                                                   |

  | character_set_server     | latin1                                                 |

  | character_set_system     | utf8                                                   |

  说明在安装数据库的时候,character_set_database,character_set_server编码格式设置错误。

  解决:

  找到mysql安装路径下的my.cnf文件在[mysqld]下添加如下两行:

  character_set_server=utf8
  init_connect=‘SET NAMES utf8‘

  再次查看(注意:修改过后mysql的服务一定要重启才会生效),问题解决:

  | 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

时间: 2024-12-07 04:07:27

mysql数据库乱码的问题解决的相关文章

mysql 数据库乱码问题

mysql 数据库乱码问题,按如下顺序检查,一步一步排除出错位置. 最好全部编码都使用UTF8编码. 网页页面编码方式使用UTF8: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 然后检查连接MYSQL数据库时设为UTF8: mysql_query("set character set 'UTF8'",$con);mysql_query(&q

MySql数据库乱码解决方法

MySql数据库乱码解决方法 解决乱码问题一个原则:存取系统使用一致的编码规则. 多使用mysql的原生命令行,这样才能做更多的事情. ? 第一步: 确认应用系统需要使用的编码 java的默认编码是跟随系统的,有的说是默认UNICode,在java中可以使用 String defaultCharsetName=Charset.defaultCharset().displayName();显示编码. 第二步: 确认并设置MySql的数据库的编码 1. 显示编码,简单的方法命令是:status; 或

解决mysql数据库乱码问题

MySQL的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小.速 度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库.那么对于mysql数据库乱码问题该如何处理呢? 专职优化.域名注册.网站空间.美国虚拟主机.服务器托管.vps主机.服务器租用的中国信息港来为你详细介绍! 备注:如果您是买空间网的客户,您可以直接咨询技术支持为您提供针对特定问题最简单的解决方案 以下内容转自网络: 1.

Hibernate连接MySQL数据库乱码相关问题

1.查看MySQL字符编码 >show variables like 'character%'; #执行编码显示 其中character_set_client,character_set_results,character_set_connection三个运行变量是造成乱码的关键 2.修改MySQL编码格式为UTF8 编辑my.ini,(注意:不是utf-8,也要注意大小写) 找到客户端配置[client] 在下面添加 ### 默认字符集为utf8 default-character-set=u

客户端发送中文消息到服务端Mysql数据库乱码的问题

这些天的实训写了一个班级发布消息到云端的小android应用,其中注册用户信息的时候需要将中文消息上传到云端的mysql数据库中,如果直接传中文字符串过去在数据库中会出现?的乱码,在加了如下代码之后问题得到了解决 其中tag是要传递的字符串:

openfire连接mysql数据库的字符集问题解决

openfire默认配置连接mysql数据库后,中文出现乱码. 解决办法: mysql字符集设置为utf8 + 设置全局的字符集 SET @@global.character_set_client = utf8; SET @@global.character_set_results = utf8; SET @@global.character_set_connection = utf8; SET @@global.character_set_server = utf8; + 设置当前连接字符集

论mysql数据库乱码

1.问题确认:数据库乱码归集为字符集问题; 查每个字符集的校队规则:show character set; (观察例 utf8  utf8_general_ci ) 创建gbk字符集数据库: create database name_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 创建:utf8字符集数据库: create database name_ntf8 CHARACTER SET utf8 COLLATE utf8_genera

hibernate插入中文到mysql数据库乱码

1. 更改mysql数据库字符集 linux下修改/etc/my.cnf windows下修改my.ini [mysqld]#default-character-set = utf8 character_set_server=utf8      #这个是我添加的init_connect='SET NAMES utf8'datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlsymbolic-links=0 [mysqld_s

Mysql数据库乱码总结

今天又独到了Mysql乱码问题,过去总是匆匆的解决了就算了.这次我实在受不了了.每次都是迷迷糊糊的改好的. 这次决定好好探索一把,看了很多资料及博客之后才理解了点.先记录下来.如有不对的请指正. 1. 首先Mysql是在4.0之后才支持多字符集的.所以只有4.0之后才会出现这种问题.编码转换的规则就是, 在输入数据时将编码由“客户端编码”转换为“服务器端编码”,输出时将数据由“服务器端编码”转换为“客户端编码”. MySQL的字符集处理是这样的: 1.发送请求. 1)客户端发送请求到服务器端.