MySQL数据库中的中文乱码如何解决

发布网友 发布时间:2022-04-22 00:48

我来回答

5个回答

懂视网 时间:2022-04-29 19:41

推荐:《mysql视频教程》

mysql数据表中文乱码解决办法

在往 mysql 数据库中插入数据的时候出现数据 ( 汉字 ) 乱码情况:

在把数据库,数据表的编码改为UTF-8后,还是乱码。

edf6ec50db88676d679cf576b002996.png

Mysql的默认编码方式是Latin1,不支持中文,因此,如果要让mysql支持中文的话需要把数据库默认的编码修改为gbk或者utf8。

1.查看数据库的编码方式

mysql>show variables like 'character%';

d675682626fb9400a08c4959ca9db20.png

上面的各种字符设置必须一致,只是简单的对数据库、数据表设置编码格式不能完全解决乱码问题,我是将上面的说有字符编码全设置为utf8后解决的乱码问题。

对上面的信息加以说明:

 | character_set_client:客户端请求数据的字符集(编码方式)
 | character_set_connection:从客户端接收到数据,再传输的字符集(建立连接使用的编码)
 | character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,那就使用 character_set_server 指定的字符集,
    这个变量建议由系统自己管理,不要人为定义。
 | character_set_results:结果集的字符集
 | character_set_server:数据库服务器的默认字符集
 | character_set_system:这个值总是utf8,不需要设置,是存储系统元数据的字符集

上述变量的值不一致或者显示乱码时,可以通过如下命令来修改:

mysql> SET character_set_client = utf8; 
mysql> SET character_set_results = utf8; 
mysql> SET character_set_connection = utf8;

2、找到MySQL5.0安装目录下编辑打开my.ini文件,修改为:

[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8

3、重新启动数据库。

热心网友 时间:2022-04-29 16:49

mysql数据乱码问题可能有以下三种原因:
1.server本身设定问题,例如还停留在latin1版本;
2.table的语系设定问题(包含character与collation);
3.客户端程式(例如php,java)的连线语系设定问题;
建议使用utf8!!!!

想要避免mysql的中文乱码问题,可以尝试以下方法:
1,对于版本问题,建议去官网更新最新的版本或者比较好用的版本;

2,创建数据库,创建表时没有对字符编码进行设定会造成乱码问题:

创建数据库的时候: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;

3,对于第三种情况,参考一下方法:
编辑linux服务器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8;
如果只是调试遇到乱码问题:
在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参数;
并且在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用utf-8或者gbk。
utf8或者gbk;

热心网友 时间:2022-04-29 18:07

1)在安装数据库的时候指定字符集

2)如果在安装完了以后可以更改以下文件:
\MySql目录\my.ini里的所有的default-character-set=utf-8
\MySql目录\data\depot_development\db.opt
default-character-set=utf-8
default-collation=utf-8_chinese_ci

3)创建数据库的时候:指定字符集类型
CREATE DATABASE test
CHARACTER SET 'gbk'
COLLATE 'gbk_chinese_ci";

4)创建表的时候也指定字符集
CREATE TABLE student
(
ID varchar(40) NOT NULL default,
UuseID varchar(40) NOT NULL default
)ENGINE=InnoDB DEFAULT CHARSET=gbk;

5)设置URL的时候
jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=UTF-8

热心网友 时间:2022-04-29 19:41

首先写一个数据库test,然后写一个表table,最后插入你想要写入的字段"工资"。出现了了乱码。就得
1. 启动MySQL,在里面输入 ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin,将test数据库的编码设为utf8。
2. 修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 以上命令就是将一个表category的编码改为utf8 。
3. 修改字段的编码:直接在MySQL里右击表,然后点编辑表,在里面修改或输入代码: ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR ( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL。4.得删除之前插入的字段之类的,再重新导入之前的字段

热心网友 时间:2022-04-29 21:33

建库的时候设定编码,时刻保证编码统一

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com