mysql学习之路_乱码问题
中文数据问题:
中文数据问题本质就说字符集问题,
计算机只识别二进制,人类识别符号;需要友谊个二进制与字符对应关系(字符集)。
报错:服务器没有识别对应的四个字节。
服务器认为的数据是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学习之路_乱码问题的更多相关文章
- mysql学习之路_事物_存储过程_备份
数据备份与还原 备份:将当前已有的数据保留. 还原:将已经保留的数据恢复到对应表中 为什么要做数据备份 1,防止数据丢失,被盗,误操作 2,保护数据记录 数据备份还原方式有多种:数据表备份 单表数据备 ...
- mysql学习之路_字段类型与属性
回顾 数据库基本知识:关系型数据库与非关系型数据库 关系型数据库:安全(磁盘) 非关系型数据库:高效(内存) 关系型数据库:建立在关系模型上的数据库, 数据结构:二维表(浪费空间) 数据库操作指令:s ...
- mysql学习之路_联合查询与子查询
联合查询 联合查询:将多次查询(多条select语句)在记录上进行拼接(字段不会增加). 语法:多条select语句构成,每条select语句获取的字段必须严格一致(但是字段类型无关). Select ...
- mysql学习之路_外键
回顾4 连接查询: 连接多张表到一起,不管记录数如何,字段数一定会增加. 分类:内连接,外连接.自然连接,交叉连接, 交叉连接:cross join (笛卡尔积) 内连接:inner join,左右两 ...
- mysql学习之路_高级数据操作
关系 将实体与实体的关系,反应到最终数据表的设计上来,将关系分为三种,一对多,多对多,多对多. 所有关系都是表与表之间的关系. 一对一: 一张表的一条记录一定只对应另外一张表的一条记录,反之亦然. 例 ...
- mysql学习之路_字段类型与属性2
字段属性: 主键,唯一键,自增长. 主键: Primary key 主要的键,一张表只能有一个字段能使用对应的键,用来唯一约束该字段里面的数据不能重复,称之为主见. 一张表最多只有一个主键. 增加主键 ...
- mysql学习之路_基础知识
Mysql php阶段将数据库分为三个阶 基础阶段: mysql数据库的基本操作(增删改查),以及一些高级操作(视图,触发器,函数,存储过程等),PHP操作没有sql数 ...
- mysql学习之路_视图
视图 视图:view是一种有结构的但是没有结构来源的虚拟表,虚拟表的结构来源不是自己定义的而是从对应的基表中产生(来源) 创建视图 基本语法: Create view 视图名字 as select 语 ...
- mysql学习之路_连接查询
回顾 列属性:主键,自增长,唯一键. 关系:一对一,一对多,多对多 三层范式: 1NF:字段设计必须符合原子性 2NF:不存在部分依赖(没有复合主键) 3NF:不存在传递依赖(实体单独成表) 逆规范化 ...
随机推荐
- Django的rest_framework的序列化组件之序列化多表字段的方法
首先,因为我们安装了restframework,所以我们需要在django的settings中引入restframework INSTALLED_APPS = [ 'django.contrib.ad ...
- akuna capital oa
记得截图没过的test case啊!否则连复习改bug的证据都没了啊!!! 其实也不一定非得要拿面试来测试,做做lc的contest,看看自己哪里不会,也是一样的效果. 注意是单选题还是多选题 has ...
- java中钩子方法的概念
钩子方法源于设计模式中模板方法(Template Method)模式,模板方法模式的概念为:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新 ...
- C#实现发送给QQ邮件
最近在做一个通过点击忘记密码往用户邮箱中发邮件(邮件内容是一个超链接)点击进行修改的功能,发送原理,我们只是把邮件发送给smtp服务器,然后再由smtp服务器发送到邮箱,发送之前要校验一下. 1.微软 ...
- java 字符串截取类 区分中文、英文、数字、标点符号
package com.founder.fix.ims; /** * @author WANGYUTAO * 操作字符串 */ public class SubString { // public s ...
- Java中方法的重写
★★前提:方法的重写建立在继承关系上★★ 在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量. 所谓方法的重写是指子类中的方法与父类中继承 ...
- CF487E Tourists - Tarjan缩点 + 树剖 + multiset
Solution 先Tarjan求出点双联通分量 并缩点. 用$multiset$维护 点双内的最小点权. 容易发现, 点双内的最小点权必须包括与它相连的割边的点权. 所以我们必须想办法来维护. 所以 ...
- C++点和箭头操作符用法区别
变量是对象的时候用“.”访问 变量是对象指针的时候用“->”访问 例: #inlclude <iostream> using namespace std; class A { pub ...
- 无法创建.gitignore文件,提示必须输入文件名称
If you're using Windows it will not let you create a file without a filename in Windows Explorer. It ...
- vue脚手架搭建的具体步骤
1.全局安装cli npm install -g vue-cli 在全局安装vue的命令行工具 2.初始化项目 vue init webpack my-project 初始化一个基于webpack ...