千家信息网

Mysql (三)Mysql 编码问题

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,处理mysql 编码问题我们经常会遇到一些向MySQL数据库中插入中文,但是select出来的时候,却是乱码。一、查看库、表字符集命令1.查看数据库支持的所有字符集Show character set
千家信息网最后更新 2025年11月09日Mysql (三)Mysql 编码问题

处理mysql 编码问题

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

、查看库、表字符集命令

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

Show character set (show char set)

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

Status /s

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

Show variables like '%char%';


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

Show full columns from tablename ;

也可以查看表结构

Show create table tablename\G;

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

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

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

1服务器级

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

2.数据库级

Create database dbname default character set utf8;

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

3.表级

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

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

4.列级

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

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

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

三、修改字符集

1.修改character_set_connectioncharacter_set_clientcharacter_set_results三值

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

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

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;

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 http-equiv="Content-Type"content="text/html; charset=gb2312" />

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

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

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

微信扫一扫 、关注公众号

不定时分享资料视频

字符 字符集 编码 数据 数据库 字段 文件 服务器 结构 服务 系统 统一 问题 三个 也就是 乱码 公众 命令 客户 客户端 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ftp 服务器 怎么 数据库导出汉字都是 宁波海恒蓝网络技术有限公司 杭州钱皇网络技术有限公司 复旦大学校外服务器访问地址 世界上最安全的网站服务器 学生网络安全简便手抄报 设计博客所用数据库知识 网络安全班会ppt百度文库免费 数据库只在参数变化时做记录 徐汇区软件开发靠谱吗 一个数据库怎么设置多个键 nikeconnect服务器 如何删除离线服务器 网络安全专业考研难不难 数据库修改表中字段的数据类型 老牌服务器 姜堰区环保网络技术哪家好 人才数据库有什么好处 普陀区海航数据库服务电话多少 网络安全产品质量评估报告 佛山网络安全工程师十大品牌 dota新加坡服务器怎么修改 如何给数据库添加装备 热拉数据库安全性 sql用语句删除数据库 网络安全未来的发展趋势具有 网络安全法颁布施行日期 腾讯轻量服务器镜像怎么选 大数据检索数据库推荐
0