MySQL数据库“局部”乱码

问题:“网页显示中午”与“数据库查看中文”总有一个是乱码,或者“网页中总有部分中文乱码”

装了PHPStudy之后,用alter修改过一次数据库的编码方式为utf8!当时的网页的编码显示是正常的,所以我就没有放在心上以为可以了!到后来才发现:网页显示中文的时候不是乱码的,但是在数据库查看中文的时候却是乱码的!还有更奇怪的是,我做一个电商网站的时候,发现一级菜单的中文显示“夏日服装”--“夏日”显示正常,“服装”乱码!实际上这个只是显示乱码,因为我用命令修改了它的显示编码方式之后,数据显示正常了,但是网页又不正常了;不修改,网页还是可以正常显示中文的!这个就令我头疼了现在问题解决了,总结一下记录,若有不准确,还请指教,谢谢!

解决:

  1)思路:发生乱码的情况可能由以下几个情况引起:

    (1)编辑文件保存时的编码方式与打开时的编码方式不一致--打开文件显示编码,但是我觉得应该是不影响文件运行的;

    (2)文件显示设置的编码方式与创建数据库时候数编码方式不同--文件运行之后显示乱码或者数据库乱码

    (3)文件显示设置和数据库设置的编码有部分不同--可能出现上述我出现的情况

 【面对第一种情况:用原来的编辑器重新保存一次为utf8;第二种情况:用alter命令修改数据的编码方式,或者将数据库删了重新导入】

  2)原理:

  在MySQL数据库中默认的编码是Latin1,是不支持中文的,要支持中文就需要将数据库的默认编码方式修改为utf8或者gbk。

  先查看一下数据库的编码方式情况:show variables like ‘character%‘;显示如下【这个显示是我已经修改为utf8】:

  

  或者使用:show variables like ‘collation%‘;查看数据库编码

  

  只要保证上面三个connection、database、server三个的编码方式一样就不会乱码了!

  3)解决方法:

  打开MySQL的配置文件:mysql.ini,修改两个地方:

  default-character-set=xxx--修改数据库默认字符集编码方式,但是却并不包括数据库服务器编码方式【即不含:collation_server】

  character-set-server=xxx--修改数据库服务器的编码方式

  只需要将两者修改为一样的utf8或者gbk就可以了!【对于不同字符,utf8和gbk所占用的储存空间是不一样的,详情可谷歌】

  

  对于数据库字符集编码方式的一些命令,大家可以看看博主“血色残阳专栏”的这篇文章,里面都有讲到!

  友情链接:http://blog.csdn.net/wangjun_pfc/article/details/3827631http://blog.csdn.net/wangjun_pfc/article/details/3827631

时间: 2024-08-20 03:42:34

MySQL数据库“局部”乱码的相关文章

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题以及更改mysql默认编码

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题: 前言,服了这些大公司,做的数据库都不人性化...我忙了很久才搞定的说 csdn好像传不了图片了...本来想来几张的,大家将就... 1.在windows下mysql的数据库是utf8编码的时候,连接失败(注意mysql中不是UTF-8,而是utf8) 情况,显示?在网页上(网页设置的UTF-8编码) 用户ID号码 用户名称 用户密码 用户地址 47 g? 1243 null 48 ? 1243 null 49 ?123

Net、c# 连接Mysql数据库中文乱码

网上有两种解决方案: 第一种是,每次执行语句的时候都和PHP的类似,先执行 一句“set names utf8”或者“set names gb2312”; 1 MySQLCommand setformat = new MySQLCommand("set names b2312",m_Connection); 2 setformat.ExecuteNonQuery(); 3 setformat.Dispose(); 第二种是,在webconfig里加一句“Charset=gbk”; 1

Mybatis连接mysql数据库出现乱码

对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的时候,选择UTF-8字符集.我试过修改现有数据库字符集为UFT -8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???).重建库时选择字符集为UTF-8之后,中文正常显示了. 对于第二个问题,是这样的情况:我建库时设置了数据库默认字符集为UTF-8,通过mysql workbench直接插入

mysql数据库 中文乱码

看到一篇很好的文章,转录于此 中文乱码似乎是程序编写中永恒的一个话题和难点,就比如MySQL存取中文乱码,但我想做任何事情,都要有个思路才行,有了思路才知道如何去解决问题,否则,即使一时解决了问题,但过后不久又碰到同样的问题可能又会急得抓狂,MySQL中文乱码问题就是如此. 仅仅对MySQL中文乱码的解决而言,我认为主要的一个原则可以归结为五个字:"编码一致性",只要遵循了这个原则,那么中文乱码就不难解决,那么何为"编码一致性"呢?子猴总结为有如下四个方面的编码必须

mysql数据库中文乱码的一点小技巧

查询数据库中的所使用的字符集 SHOW VARIABLES LIKE 'CHARACTER%' 设置数据库的字符编码集 URL=jdbc:mysql://127.0.0.1:3306/user?characterEncoding=utf8 今天添加数据到数据库,刚好就碰到了中文乱码,将eclipse里面的默认字符集和mysql数据库里面的字符集都改成了utf8,部署运行后还是不行. 后来在网上搜了一下,刚好看到了上面的这个方法, 在数据库连接池的配置文件中改了一下URL的地址,然后就好了.

Mysql 数据库中文乱码问题

Servlet写Mysql数据库中文老师乱码,找了一下发现是数据库建库的时候编码没有设置正确. ALTER DATABASE usercenter CHARACTER SET utf8; 修改一下就OK 了.

MySql数据库输入数据乱码问题

1.首先检查从前端界面传进来的值是否是乱码 2.查看Mysql数据库中的字符集 2.1 cmd 进入MySql安装目录:D:\Program Files\MySQL\MySQL Server 5.5\bin 2.2 进入数据库:mysql -u root -proot 2.3 查看数据库编码格式: show variables like '%character%'; 2.4 会出现以下界面: 3.如图所示:如果编码格式不为utf8或者跟页面字符格式不同. 找到数据库安装目录中的 my.ini 配

java 链接mysql数据库以及乱码

 JDK:j2sdk1.5.0 MySQL:mysql-5.0.41-win32_178 JDBC驱动:mysql-connector-java-3.2.0-alpha-bin.jar 一.java与数据库的连接 java与数据库的连接书上写有四种方法,我的理解其实从其实质上说就两种,一种建立JDBC-ODBC桥,通过ODBC数据源与数据库相连.另一种是纯java式的连接,通过java类库API驱动连接.以MySQL为例,这两种方法分别需要MySQL-ODBC驱动和MySQL-JDBC-OD

Windows使用MySQL数据库中文乱码问题

声明:本文关于MySQL中文乱码问题的解决方案均基于Windows 10操作系统,如果是Linux系统会有较多不适用之处,请谨慎参考. 一.MySQL中文乱码情况 1. sqlDevelpor MySQL客户端中文乱码 sqlDevelopor操作MySQL中文乱码 2. command-line MySQL客户端中文乱码 控制台操作MySQL中文乱码 二.MySQL中文乱码产生原因 Windwos中文系统默认的字符编码集是gbk(扩展国标码,包括简体中文.繁体中文.朝鲜语.日本语等东亚语言),