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

装了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

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

  1. Mybatis插入MySQL数据库中文乱码

    Mybatis插入MySQL数据库中文乱码 在dataSource.properties配置文件中设置useUnicode=true&characterEncoding=utf-8编码即可. ...

  2. Django 连接mysql数据库中文乱码

    Django 连接mysql数据库中文乱码 2018年08月25日 20:55:15 可乐乐乐乐乐 阅读数:566   版本:CentOS6.8 python3.6.4 django1.8.2 数据库 ...

  3. Mybatis连接mysql数据库出现乱码

    对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...

  4. mysql数据库 中文乱码

    看到一篇很好的文章,转录于此 中文乱码似乎是程序编写中永恒的一个话题和难点,就比如MySQL存取中文乱码,但我想做任何事情,都要有个思路才行,有了思路才知道如何去解决问题,否则,即使一时解决了问题,但 ...

  5. 解决Python查询Mysql数据库信息乱码问题

    今天尝试着用 Python 写了个脚本试着连接 mysql 数据库,并查询里边的数据,不过最终查询结果中文字符变成了ascii格式. 代码如下: #!/usr/bin/python #encoding ...

  6. mysql数据库-中文乱码问题解决方案

    来自:http://www.2cto.com/database/201108/101151.html MySQL会出现中文乱码的原因不外乎下列几点: .server本身设定问题,例如还停留在latin ...

  7. MySQL数据库中文乱码问题

    mysql> select * from books; +-----+---------------------------------+---------+-------------+---- ...

  8. 解决wamp mysql数据库出现乱码的问题。

    一般的乱码情况: 如果在控制台上出现這样的乱码,一般在phpmysqladmin上也会出现乱码,因为他们都一样 一个在控制台出现,一个在页面出现. 首先在mysql.exe上输出 mysql>S ...

  9. java 保存到mysql数据库中文乱码

    <property name="jdbcUrl">jdbc:mysql://localhost:3306/company?useUnicode=true&cha ...

随机推荐

  1. Android多线程编程之AsyncTask

    进程?线程? 进程是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态的概念.每个进程都有自己的地址空间(进程空间).进程空间的大小与处理机位数有关.进程至少有5种基本状态:初始态,执行态 ...

  2. NHibernate 映射失败 is not mapped

    1 区分大小写(实体类名) 2 MAP的XML设置为嵌入的资源 3 hibernate.cfg.xml配置添加map的程序集<mapping assembly="Model" ...

  3. hibernate报错Unknown integral data type for ids : java.lang.String

    package com.model; // Generated 2016-10-27 14:02:17 by Hibernate Tools 4.3.1.Final /** * CmDept gene ...

  4. Windows XP SP3下编译安装check-0.10.0

    软件环境:visual studio 2010 cmake-3.6.3-win32-x86 从github.com下载check-0.10.0到本地,解压出目录check-0.10.0 下载cmake ...

  5. memcached 分布式

    memcached定义 memcached 是一套分布式的高速缓存系统,被广泛应用于应用系统的缓存层来提升应用程序的访问速度:memcache缺乏认证以及安全管制,这表明应将memcached服务器放 ...

  6. UISegmentedControl 控件

    一.创建 UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil]; 是不是很奇怪没 ...

  7. NSLock线程锁的使用测试

    测试1:NSLock线程锁是不是单例? 打印: 结论1:NSLock不是单例 测试2:同一个线程锁在不同的地方锁定,是否会有锁定两个? 打印为: 结论2:顺序打印,在不同的地方锁定也可以锁定. 测试3 ...

  8. RVM 多版本Ruby管理-Gentoo

    发现了一个非常Amzaing的Ruby的工具RVM,用于安装和管理Ruby的多个版本.相比较于直接在系统中安装不同版本的Ruby,然后使用时切换到对应的版本,这种方式实在是酷毙了,使ruby安装变得非 ...

  9. 安装memcache扩展

    今天早上去公司打开新项目,结果提示"Class 'Memcache' not found",于是上网搜了下这是怎么回事?现在在这里记录一下解决过程,以备查询,也希望能帮助到遇到相同 ...

  10. 安装odoo服务

    sysv init 服务 从 odoo 源码 debian 目录 拷贝 init 至 /etc/init.d/ 并 更名为 odoo cd /opt/odoo sudo cp /opt/odoo/de ...