数据库乱码解决

说明:在新建数据库的时候记得选择编码格式,一般中文选择utf-8,数据库在建表和每个字段都会选择字符编码,出现字符编码问题首先确保字段编码是否正确;

排查原因:

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

前者解决方案:

在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存数据库操作后乱码,解决方案:登录数据库,执行如下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‘

再次查看,问题解决:

| 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-10-17 04:42:14

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

MySql数据库乱码解决方法

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

jsp 传值jsp 数据库 乱码解决的攻略 全套

jsp传值给jsp中文乱码 传值给数据库乱码的解决方法 所有的用到编码的所有统一utf-8 1.装mysql的时候有选择编码的界面的那个地方选utf-8编码 2 建数据库的时候选择 字符集 排序规则所有utf8 -- UTF-8 Unicode  utf8_general_ci 3 建立表的时候 字符集 排序规则所有和上面一样 到这里数据库那边的好了 接下来是jsp端 4 全部jsp页面的头部加入 <%@ page language="java" import="jav

xampp中php连接mysql数据库乱码解决

页面是utf8的,数据库也是utf8的,但是查询的结果集中文乱码,错误出现在php和数据库连接的地方. 默认好像是会把结果集以lant1的编码交给php,自然乱码了. 打开数据库配置文件,设置默认字符集如下即可 [client]端添加default-character-set=utf-8[mysqld]端添加default-character-set=utf-8 否则也可以执行查询之前先执行mysqli_query($connect, 'set names utf8'); 来设置查询结果集的字符

MySQL数据库乱码解决办法

mysql> create database wsyht_latin1 default character set latin1;  #创建为拉丁字符 mysql> use wsyht_latin1 mysql> create table t1(id int,age int(3),name char(10)); mysql> insert into t1 values(1,25,'wsyht'),(2,26,'peter'); mysql> mysql> select

Loganalyzer数据库乱码解决方法:

查询mysql数据库编码是否为utf8: mysql> show create database test; 查询mysql数据表编码是否为utf8: mysql> show create table yjdb; 如不是utf8: Vim /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql 修改:create database syslog default character set utf8 collate utf8_general_ci; 重启m

jsp页面保存到数据库有乱码解决方法

第一种: 在页面前加上 <%@ page language="java" contentType="text/html;charset=gbk" errorPage=""%> <%request.setCharacterEncoding("GBK");%> 第一行说明你的页面用的是中文编码 第二行声明你的页面传值也用中文编码 第二种 tomcat4.x支持中文传码,但5.x不支持,如果用5.0以上的版本

说说Java程序和数据库交互的乱码解决

本文就本人遇到的问题进行讲解 1.通过jdbc直连方式,连接Mysql数据库,从程序向数据库中写入数据出现的乱码解决方案. 当通过程序向Student表中写入一条数据时,写入数据库的内容会产生乱码. 如下图 解决方案: 1.创建数据库的时候: CREATE   DATABASE   `Db`                                CHARACTER   SET   'utf8 '                                COLLATE   'utf8

解决mysql数据库乱码问题

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

php mysql 中文乱码解决,数据库显示正常,php调用不正常

一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存.要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码: 1.文件编码:指的是页面文件(.html,.php等)本身是以何种编码来保存的.记事本和Dreamweaver在打开页面时候会自动识别文件编码因而不太会出问题.而ZendStudio却不会