美文网首页
乱码问题——解决啊!

乱码问题——解决啊!

作者: 咸鱼有梦想呀 | 来源:发表于2017-09-30 19:33 被阅读0次

一、中文数据的本质是字符集问题

计算机只识别二进制,所以需要有一个二进制与字符的对应关系(字符集)

1.查看所有字符集

show character set;

39种字符集

2.查看服务器默认对外处理的字符集

show variables like 'character_set%';

字符集

3.客户端数据只能是GBK,而服务器认为是utf8,所以需要改变服务器默认接收字符集为GBK

set character_set_client = gbk;

改变服务器默认接收字符集为GBK

4.客户端向服务器插入中文数据:

插入中文数据

查看数据效果时:数据来源是服务器,解析数据是客户端(客户端只识别gbk:只会两个字节一个汉字)但服务器给数据确实utf8(三个字节一个汉字)所以出现乱码

查看数据时的乱码

5.修改服务器给客户端的数据字符集为gbk

set character_set_results = gbk;

修改服务器给客户端的数据字符集为gbk

6.查看数据效果

不乱码咯

set 变量 = 值;修改只是会话级别(当前客户端,当次链接有效;关闭失效)

快捷设置字符集

set names 字符集

快捷设置字符集

二、web乱码问题

动态网站由三部分构成:浏览器,apache服务器(PHP),数据库服务器;三部分都有其自己的字符集(中文),数据需要在三部分之间传递,容易出现乱码。所以需要 统一编码(三码合一)

乱码问题解决:

解决方法

三、校对集问题

校对集:数据比较方式

校对集有三种格式:

_bin:binary,二进制比较,取出二进制位,一位一位的比较,区分大小写
_cs:case sensitive,大小写敏感,区分大小写
_ci:case insensitice,大小写不敏感,不区分大小写

查看数据库所支持的校对集

show collation;

校对集

校对集应用:当数据产生比较的时候,校对集才会生效。

1.使用utf8的_bin和_ci来验证不同校对集的效果
①创建不同校对集对应的表

不同校对集对应

②插入数据

插入数据

③比较:根据某个字段进行排序

order by <字段名> [asc/desc]; asc升序,desc降序,默认是升序

比较
校对集:必须在没有数据之前声明好,如果有了数据,那么再进行校对修改,修改无效。

相关文章

  • 乱码问题——解决啊!

    一、中文数据的本质是字符集问题 计算机只识别二进制,所以需要有一个二进制与字符的对应关系(字符集) 1.查看所有字...

  • cmd中telnet中文乱码

    解决telnet中文乱码问题

  • HTML文件在浏览器打开并避免乱码

    打开本地html文件 解决乱码问题 出现乱码: 现在在 前加一段代码 解决了乱码问题: 原因: 文章中的的声明和文...

  • web开发中乱码问题的解决

    web开发中乱码问题的解决 由于楼主刚刚接触web不久,自然而然的就遇到了乱码问题。下面就记录一下乱码问题的解决。...

  • 教你解决Sublime Text中文乱码问题

    教你解决Sublime Text中文乱码问题 教你解决Sublime Text中文乱码问题【转载自成长的企鹅】 S...

  • git 小技巧

    解决git status中文乱码问题

  • 随笔 -1(毕业前)

    web.xml中配置过滤器处理中文乱码问题: 拦截器使用场景: 解决乱码问题 解决权限验证问题 HTTP 消息结构...

  • spring异常处理

    中文乱码解决方案 spring提供了一个CharacterEncodingFilter过滤器,可用于解决乱码问题,...

  • 2018-12-31

    问题:.xls直接转.csv乱码 解决:

  • IDEA console中文乱码问题

    IntelliJ IDEA 控制台中文乱码解决方案 之前解决过一次乱码问题,可是更新idea后就又乱码了ORZ g...

网友评论

      本文标题:乱码问题——解决啊!

      本文链接:https://www.haomeiwen.com/subject/wdagextx.html