我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql (三)Mysql 编码问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql (三)Mysql 编码问题

处理mysql 编码问题

 

我们经常会遇到一些向MySQL数据库中插入中文,但是select出来的时候,却是乱码。

 

、查看库、表字符集命令

1.查看数据库支持的所有字符集

Show  character set (show char set)

Mysql (三)Mysql 编码问题

 

2.查看当前状态,里面当然包括字符集的设置

Status /s

Mysql (三)Mysql 编码问题

 

 

 

3.查看系统字符集设置,包括所有的字符集设置

Show  variables like  ‘%char%’;

Mysql (三)Mysql 编码问题

Mysql (三)Mysql 编码问题


4.查看数据表中字符集设置

Show  full columns  from  tablename ;

Mysql (三)Mysql 编码问题

也可以查看表结构

Show  create table  tablename\G;

Mysql (三)Mysql 编码问题

5.查看数据库编码(数据库结构)

Show  create database  dbname;//创建数据库指定的字符集

Mysql (三)Mysql 编码问题

 

二、创建库表列时要指定字符集(要统一)

1服务器级

在安装MySQL时可以设置服务器的默认编码格式,也可对my.ini做修改,修改[mysqld]里面的character_set_server=utf8,则可设置character_set_server的值。

2.数据库级

Create  database   dbname default  character  set utf8;

Mysql (三)Mysql 编码问题

注意,如果不指定默认的字符集,则系统会根据character_set_database的值进行设置

3.表级

Create  table dbname.tbname(id varchar(20) not null, name vharchar(20))engine=innoDB  default  charset=utf8;

Mysql (三)Mysql 编码问题

:定义表的默认字符集为utf8,即使character_set_database为gbk,但是表的列都为utf8。如果没有定义表的默认字符集,则他会按照character_set_database的值来设置

 

4.列级

Create  table db1.tb2(id  varchar(20)  not null, name  varchar(20)  character set utf8);

Mysql (三)Mysql 编码问题

注:如查没有指定列字符集、就使用表字符集、如查指定了就使用指定的。

图中:show  create table db1.tb2//是查看表结构

 

三、修改字符集

1.修改character_set_connectioncharacter_set_clientcharacter_set_results三值

对于一个连接来说、可以用

Set names  utf8来使用上面三个值改成utf8;

Mysql (三)Mysql 编码问题

Set name  ‘charset_name’; 相当于

Set character_set_client = charset_name;

SET character_set_results = charset_name; 

SET character_set_connection = charset_name;

 

2.修改character_set_database字段(也就是改数据库字符集)

Alter  database db_name  default  character set  charset_name;

 

Mysql (三)Mysql 编码问题

 

3.修改character_set_server字段

最简单的方法是直接改my.ini配置文件里面[mysqld]的字段,增加character-set-server=gbk,然后重启mysqld,则可改为你想要的字符集。

 

4.修改表的字符集

Alter  table tbname  default  character set  charsetname;

Alter  table tb1  default  character set  utf8

 

5.修改列的字符集

Alter  table tbname  modify  age varchar(30)  character  set utf8;

 

总结:

1、建库、建表、建字段设置统一编码。

2、PHP作为mysqle服务器客户端、连接编码set names utf8/gbk;

3、设置php返回给浏览器数据的编码。(Content-Type,header(),<meta>

<meta http-equiv="Content-Type"content="text/html; charset=gb2312" />

header("Content-type:text/html;charset=utf-8");

4、Php文件本身保存的编码(文件编码、通过文本编辑器设置)

5、安装mysql时设置好编码。(装好后可修改my.ini

 

 

微信扫一扫 、关注公众号

   不定时分享资料视频

Mysql (三)Mysql 编码问题

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql (三)Mysql 编码问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL解决字符集编码问题

目录前言方法1:在创建数据库时,指定字符集方法2: 更改mysql的配置文件前言http://www.cppcns.comMySQL的默认编码方式是 拉丁文,如果想要设置一些汉字的数据.可能会报错.分享一下我解决这个问题时的方法.1. 在
2023-04-12

MySQL乱码问题

status;或show variables like "%char%";查看编码是否对应。2 解决方案对于windows用户,修改MySQL安装目录下的my.ini文件,对于linux用户,若是编译安装的也是在安装目录下,包管理器安装的在/etc/my.cn
MySQL乱码问题
2020-07-06

MySQL字符集编码问题怎么解决

本文小编为大家详细介绍“MySQL字符集编码问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL字符集编码问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法1:在创建数据库时,指定字
2023-07-06

关于mysql数据库连接编码问题

前几天使用springboot做一个数据库查询功能,发现使用中文就无法查到数据,经过测试SQL语句是没有问题的,但是就是查询不到数据,一直显示为null。后来,我灵机一动尝试了一下查询参数改为英文,显示出查询结果是正常的。这就说明了是编码
2023-04-14

使用Go驱动插入时MySQL编码问题

php小编鱼仔给大家带来关于使用Go驱动插入时MySQL编码问题的解决方法。在使用Go编写MySQL插入操作时,有时会遇到编码不一致的问题,导致数据插入出现乱码或无法插入的情况。这篇文章将为大家详细介绍如何解决这个问题,让你的数据插入操作更
使用Go驱动插入时MySQL编码问题
2024-02-09

MySQL:不是MySQL问题的MySQL问题

有的时候我们遇到的问题,看起来像MySQL自身的问题,但是实际上是业务代码自己的问题,这里我们来看两个例子,这两个看起来像MySQL自身的问题,但是实际上不是的,这里就来聊一下这两个问题,以及我的分析方式。

50个SQL语句(MySQL版) 问题三

--------------------------表结构--------------------------student(StuId,StuName,StuAge,StuSex) 学生表teacher(TId,Tname) 教师表course(CId,Cn
50个SQL语句(MySQL版) 问题三
2021-10-10

MySQL-重置root密码问题

当忘记root管理员账号密码问题适用于忘记root密码的情况及异机恢复时没有管理员账号密码的情形# 跳过权限验证启动服务/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-g
MySQL-重置root密码问题
2022-03-20

50个SQL语句(MySQL版) 问题十三

--------------------------表结构--------------------------student(StuId,StuName,StuAge,StuSex) 学生表teacher(TId,Tname) 教师表course(CId,Cn
50个SQL语句(MySQL版) 问题十三
2019-09-16

MySQL乱码问题如何排查

对于MySQL自带的客户端来说,这个编码过程使用的字符集和我们使用的操作系统的默认字符集是一样的,类Unix系统的默认字符集就是utf8,Windows系统的默认字符集就是gbk。

编程热搜

目录