中文数据问题:

中文数据问题本质就说字符集问题,

计算机只识别二进制,人类识别符号;需要友谊个二进制与字符对应关系(字符集)。

报错:服务器没有识别对应的四个字节。

服务器认为的数据是utf—8,一个汉字有三个字节,读取三个字节转换成汉字(失败),剩余的再读三个字节,最终失败!

所有数据库服务器认为(表现)的一些特征都是通过服务器端的变量来存储,系统先读取自己的变量,看看应该怎么表现。

Show  viriables like ‘character_set %’;(查看字符集);对外处理默认字符集

基本上服务器是万能的,什么字符集都能识别。问题的根源:客户端只能识别GBK而服务器是utf-8,矛盾产生。

解决方案1

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

Set character_set_client =GBK;

注意:数据的来源是服务器,解析数据是客户端(客户端只识别GBK;两个字节一个汉字);但服务器给的数据却是utf8,三个字节一个汉字,乱码!!!!!!

解决方案2:

修改服务器给客户端的数据数据集为GBK

Set character_set_result=GBK;

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

快捷方式:

设置服务器对客户端的字符集的认识:

Set names 字符集;

例:set names gbk;

==>cheracter_set_client

==>character_set_result;

==>character_set_connection;

Connection: 连接层;字符集中间者统一了效率更高:

校对集问题:

校对集:数据比较的方式(三种方式)

_bin:binary;二进制比较取出二进制位,一位一位进行比较,区分大小写。

_ci:case sensitive; 大小写敏感,区分大小写;

_ci:case insensitive; 大小写不敏感。不区分大小写。

检查数据库支持的校对集

Show collation;

对比:使用utf_8的_bin和_ci来验证不同校对集的效果。

校对集:必须在没有数据之间声明好。

Web乱码问题:

动态网站:部分构成;

浏览器:appache 服务器(php)数据库服务器

三个部分都有自己的字符集;数据在三个部分之间传递很容易产生乱码;

如何解决乱码问题:

统一编码(三码合一);

事实上不可能:浏览器用户管路(不能控制)

但是必须解决这些问题

mysql学习之路_乱码问题的更多相关文章

  1. mysql学习之路_事物_存储过程_备份

    数据备份与还原 备份:将当前已有的数据保留. 还原:将已经保留的数据恢复到对应表中 为什么要做数据备份 1,防止数据丢失,被盗,误操作 2,保护数据记录 数据备份还原方式有多种:数据表备份 单表数据备 ...

  2. mysql学习之路_字段类型与属性

    回顾 数据库基本知识:关系型数据库与非关系型数据库 关系型数据库:安全(磁盘) 非关系型数据库:高效(内存) 关系型数据库:建立在关系模型上的数据库, 数据结构:二维表(浪费空间) 数据库操作指令:s ...

  3. mysql学习之路_联合查询与子查询

    联合查询 联合查询:将多次查询(多条select语句)在记录上进行拼接(字段不会增加). 语法:多条select语句构成,每条select语句获取的字段必须严格一致(但是字段类型无关). Select ...

  4. mysql学习之路_外键

    回顾4 连接查询: 连接多张表到一起,不管记录数如何,字段数一定会增加. 分类:内连接,外连接.自然连接,交叉连接, 交叉连接:cross join (笛卡尔积) 内连接:inner join,左右两 ...

  5. mysql学习之路_高级数据操作

    关系 将实体与实体的关系,反应到最终数据表的设计上来,将关系分为三种,一对多,多对多,多对多. 所有关系都是表与表之间的关系. 一对一: 一张表的一条记录一定只对应另外一张表的一条记录,反之亦然. 例 ...

  6. mysql学习之路_字段类型与属性2

    字段属性: 主键,唯一键,自增长. 主键: Primary key 主要的键,一张表只能有一个字段能使用对应的键,用来唯一约束该字段里面的数据不能重复,称之为主见. 一张表最多只有一个主键. 增加主键 ...

  7. mysql学习之路_基础知识

                    Mysql php阶段将数据库分为三个阶 基础阶段: mysql数据库的基本操作(增删改查),以及一些高级操作(视图,触发器,函数,存储过程等),PHP操作没有sql数 ...

  8. mysql学习之路_视图

    视图 视图:view是一种有结构的但是没有结构来源的虚拟表,虚拟表的结构来源不是自己定义的而是从对应的基表中产生(来源) 创建视图 基本语法: Create view 视图名字 as select 语 ...

  9. mysql学习之路_连接查询

    回顾 列属性:主键,自增长,唯一键. 关系:一对一,一对多,多对多 三层范式: 1NF:字段设计必须符合原子性 2NF:不存在部分依赖(没有复合主键) 3NF:不存在传递依赖(实体单独成表) 逆规范化 ...

随机推荐

  1. centos7下Redis3的安装与使用

    redis是一个开源的,使用C语言编写的,支持网络交互的,可基于内存也可持久化的Key-Value数据库. 一.安装redis 下载redis源码 > wget http://download. ...

  2. BOM浏览器对象模型;

    1.window.open(url,ways) url是打开的网页地址 ways是打开方式(-blank:-self) 2.window.close()关闭窗口 3.浏览器的用户信息 window.n ...

  3. win10 x64中 windbg x64 安装配置符号库

    根据系统安装好x64版本,我的系统是win10 x64 ; windbg下载地址 https://developer.microsoft.com/zh-cn/windows/hardware/down ...

  4. 简单DP入门四连发

    复习一下一直不太懂的dp. dp博大精深,路还长着呢 第一题;http://acm.hdu.edu.cn/showproblem.php?pid=2084 从下往上就是水题 #include<c ...

  5. dpdk优化相关 转

    注:本文是参照了一些其他文章,原文地址点击这里. 首先根据这篇文章进行了性能瓶颈的分析 策略与方法 首先根据木桶原理,首先要找到最弱的地方,怎么找往上看↑. 想能优化需要考虑如下: 优化BIOS设置 ...

  6. 使用Trinity拼接以及分析差异表达一个小例子

    使用Trinity拼接以及分析差异表达一个小例子  2017-06-12 09:42:47     293     0     0 Trinity 将测序数据分为许多独立的de Brujin grap ...

  7. SNP(单核苷酸多态性)准确性的验证,你造吗?

    SNP(单核苷酸多态性)准确性的验证,你造吗? [2016-12-12]       SNP(全称Single Nucleotide Polymorphisms)即单核苷酸多态性,主要是指在基因组水平 ...

  8. iOS最全的常用正则表达式大全

    很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求.所以我最近把开发中常用的一些正则表达式整理了一下,包括校验数字.字符.一些特殊的需求等等.给自己留个 ...

  9. web前端学习笔记:文本属性

    今天的web前端笔记主要讲述文本属性,希望能帮助到正在学习web前端开发的初学者们,废话不多说了,一起来看看文本属性的相关内容吧. 文本属性 文本缩进 将Web页面上的一个段落第一行缩进,这是一种最常 ...

  10. CreateToolhelp32Snapshot 以及 EnumProcesses

    RT,请教如何获得Windows任务管理器中所显示的进程列表. CreateToolhelp32Snapshot 以及 EnumProcesses 这些方法我都试过了,但是这两种方法得到的结果和任务管 ...