随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

 最近在复习MySQL,为什么是复习呢?大家应该都懂,技能好久不用都还给老师了,因为以前学习没有记录的习惯,学的时候会不用就忘,

而且用的时候不能快速理解,还要再次观看视频或者翻看厚厚的书籍,所以本次复习随笔记录,方便以后查看。

#------------------------------------------------我是可耻的分割线-------------------------------------------

中文数据问题

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

计算机只识别二进制:人类更多识别符号:需要有个二进制与符号的对应关系(字符集)

原因:\xD5\xD5\xD4\xBD代表的是“张悦”在当前编码(字符集)下对应的二进制编码转换的十六进制:两个汉字=>四个字节

报错:服务器没有识别对应的四个字节:服务器任务数据是UTF8,-个汉字有三个字节:读取三个字节转换成汉字(失败),剩余的再读三个字节(不够):最终失败。

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

//查看服务器到底识别那些字符集

Show character set;

基本上:服务器是万能的,什么字符集都支持

//既然服务器识别这么多:总有一种是服务器默认的跟

Show variables like 'character_set%';

问题根源:客户端数据只能是GBK,而服务器任务是UTF8:所以矛盾产生

解决方案:改变服务器,默认的接收字符集为GBK;

插入中文的效果:

查看数据效果:依然是乱码

原因:数据来源是服务器,解析数据是客户端(客户端只识别GBK:只会两个字节一个汉字);

但是事实服务器给的数据却是UTF8,三个字节一个汉字:乱码

解决方案:修改服务器给客户端的数据字符集为GBK

Set character_set_results = gbk;

查看数据效果

Set 变量 = 值;修改只是会话级别,当前连接成效,关闭失效

设置服务器对客户端的字符集的认识:可以使用快捷方式,set names 字符集;

Set names gbk; ===>character_set_client,character_set_results,character_set_connection

MySQL之中文数据问题的更多相关文章

  1. MySQL插入中文数据出现?号

    原文转载自:https://blog.csdn.net/LynneZoe/article/details/79174119 运行环境:win10 mysql版本:Mysql5.6 做一个项目的时候,向 ...

  2. mysql插入中文数据变成问号怎么处理

    插入中文数据变成问号,一般都是因为字符集没有设置成utf8的原因 1.修改字符集: ALTER TABLE 表名 MODIFY 列名 类型(50) CHARACTER SET "utf8&q ...

  3. MYSQL导入中文数据乱码的四种解决办法

    方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 my ...

  4. MySQL 插入 中文数据乱码解决

    问题描述: 1.在命令行中进行插入,没有问题.但是显示存在部分乱码 2.在JDBC中插入成功.中文是直接以“??”形式显示. 通过Navicat客户端查看 与在网页中看到的一一致,说明读取没有问题,问 ...

  5. Hibernate向MySQL插入中文数据--乱码解决

    <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/exam?useUnicod ...

  6. mysql添加中文数据失败

    日志信息: INFO 2015-01-13 10:44:36,078 org.springframework.beans.factory.xml.XmlBeanDefinitionReader: Lo ...

  7. mysql 查询中文数据

    select * from comm_user WHERE length(tags)!=CHAR_LENGTH(tags)

  8. mysql不能插入中文数据

    上次遇到的是向mysql插入中文数据,中文数据乱码了.这次直接就不能插入中文数据了!!!! 参考博文:http://blog.csdn.net/generalyy0/article/details/7 ...

  9. EF 连接MySQL 数据库  保存中文数据后乱码问题

    EF 连接MySQL 数据库  保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的 ...

  10. 解决mysql无法插入中文数据及插入后显示乱码的问题

    (1)废话不多说就是使用mysql数据库的时候无法输入中文,可以输入中文后显示的又是乱码!! (2开始解决问题: 第一步:找到安装mysql的目录找到 my.ini 文件: 第二步:使用记事本打开my ...

随机推荐

  1. TensorFlow的基础结构

    Tensorflow 是非常重视结构的, 我们得建立好了神经网络的结构, 才能将数字放进去, 运行这个结构. 这个例子简单的阐述了 tensorflow 当中如何用代码来运行我们搭建的结构. 创建数据 ...

  2. ssm框架下的拦截器过滤静态资源以及拦截jsp

    这篇文章如果能给你带来帮助 不胜荣幸,如果有错误 ,欢迎批评指正,共同进步. 今天啊搭了一个ssm的框架 虽然说现在大部分都在使用shiro权限,可是正如mybatis.hibernate和jdbc的 ...

  3. log4net两分钟三步急速搭建日志框架教程(注意System.Configuration.ConfigurationErrorsException: 配置系统未能初始化 ---> System.Configuration.ConfigurationErrorsException: )

    最近接了个活,winform的帮人做几个页面,这里就以winform项目为例了,之前log4net都是项目中继承好了的,这次自己研究从0到1搭建了一个,发现其实也蛮简单的,主要分为以下三步和一个注意事 ...

  4. ORA-06502: PL/SQL: numeric or value error: character string buffer too small

    oracle执行报错 ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: a ...

  5. 基于Geojson的点集的抽稀Js实现

    由于要进行反距离插值,离散点太多肯定会影响插值的效率. 为了提升插值速度,就有了这个点的抽稀. 参考这位仁兄的思路.http://blog.csdn.net/cdl2008sky/article/de ...

  6. 「postOI」Colouring Game

    题意 有 \(n\) 个格子排成一行,一开始每个格子上涂了蓝色或红色. Alice 和 Bob 用这些格子做游戏.Alice 先手,两人轮流操作: Alice 操作时,选择两个相邻的格子,其中至少要有 ...

  7. requests库获取指定关键词的图片,并保存到本地

    var code = "45f4267f-9476-44ca-ac68-6d32aad2d4e1" 源码地址:https://gitee.com/myrensheng/data_a ...

  8. ZIAO日报 202302

    2023.2 2023年2月14日 10:23 2023.2.14 继续读<Multi-View Transformer for 3D Visual Grounding>,读到了relat ...

  9. 路飞项目day01 软件开发流程、PIP永久换源、虚拟环境、路飞项目开始

    一.软件开发流程(重要) ​ 我们作为一个后端,虽然一般情况下只专注自己的那一部分事情,但是有时候小公司,人员架构没那么细化,或者老板就是想省钱少招点人,我们就得大致熟悉软件开发流程,知道上司.其他同 ...

  10. GNN学习(一):基础知识

    1 # !usr/bin/env python 2 # -*- coding:utf-8 _*- 3 # @Time :2022/8/20 10:46 4 # @Author: VVZ 5 # @Fi ...