数据库中文乱码问题总结

数据库 专栏收录该内容
1 篇文章 0 订阅

1、设置数据库及表的编码
通常在建一个数据库或表的时候对一个字段设置了CHARACTER SET utf8 COLLATE utf8_general_ci。
DEFAULT CHARACTER SET utf8:数据库字符集。设置数据库的默认编码为utf8,utf8中间不要"-";
COLLATE utf8_general_ci:数据库校对规则。ci是case insensitive的缩写,意思是大小写不敏感;相对的是cs,即case sensitive,大小写敏感;还有一种是utf8_bin,是将字符串中的每一个字符用二进制数据存储,区分大小写。

创建数据库、数据表时可指定utf8编码:

//建数据库
CREATE DATABASE `test` 
CHARACTER SET 'utf8' 
COLLATE 'utf8_general_ci';
//建数据表
CREATE TABLE `database_user` ( 
`ID` varchar(40) NOT NULL default '', 
`UserID` varchar(40) NOT NULL default '', 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

查看默认编码格式:

mysql> show variables like "%char%"; 

设置编码格式:

SET character_set_client='utf8'; 
SET character_set_connection='utf8'; 
SET character_set_server='utf8'; 

查看数据库test的编码格式:

mysql> show create database test;

设置数据库test的编码格式:

ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

查看数据表testTable的编码格式:

mysql> show create table testTable; 

设置数据表testTable的编码格式:

ALTER TABLE `testTable` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;   

2、navicat for mysql中文乱码

修改Navicat服务器连接属性及数据库属性
在这里插入图片描述

3、更改mysql初始化配置文件
如果使用的是XAMPP集成工具,开启mysql之后在config的my.ini文件中更改character_set_server的值,将值更改为utf8。
接着在navcat中查看配置信息,即可发现已改。
在这里插入图片描述
在这里插入图片描述

4、如果以上步骤之后,存入数据认为乱码,将Navicat连接编码格式改为“Current Windows Codepage”
在这里插入图片描述
本人就是将将Navicat连接编码格式改为“Current Windows Codepage”解决了问题。

  • 2
    点赞
  • 0
    评论
  • 7
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

LionelLe

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值