如何设置mysql的编码?我向表中插入的中文数据,都是问号。。。

如题所述

插入的数据乱码有很多原因:
1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的
2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")
3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有bom的utf8编码
4、以上都没问题的话,还出现乱码的话,修改mysql的配置文件,my.ini加上character-set-server=utf8,然后重启mysql服务就可以了
一般出现乱码的话,基本就是这些原因了
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-29
需要设置成utf8或者gbk的编码,同时表的编码也必须是utf8或者gbk
修改方法:
修改my.cnf或者my.ini文件,在【mysqld】和【client】下分别加上character-set-server=utf8(注意,5.5版本以前是default-character-set=utf8),然后重启mysql即可,

有问题可以追问
第2个回答  2012-08-14
mysql我还不懂,不过我在mssqlsever中也遇到过这样的问题,折腾半天才解决。举个例子在创建表的时候,含有中文的我用nvarchar不用varchar,并且在含有中文的数据之前加个大写的N。如:
//建表
create table T_Preson(ID int not null,F_Name nvarchar not null,F_Age int not null)
//插入数据
insert into T_Preson(ID,F_Name,F_Age) values (1,N'小张',22);

我刚开始学数据库,不知道我的方法对你有没有用,如果回答的不对,请别喷我啊。
第3个回答  2013-08-06
首先用dos查看你数据库现在的编码格式(命令:mysql> status),然后用记事本打开my.ini文件,用记事本的替换,把你现在的编码格式替换成utf8或者gb2312就行了

如何设置mysql的编码?我向表中插入的中文数据,都是问号。。。
1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的 2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有bom的utf8编码 4、以上都没...

mysql数据库中存进的是中文,为什么查出来的乱码?
1)字段编码和表一致,客户端是不同的编码比如下面例子, 表数据的编码是 utf8mb4,而 SESSION 1 发起的连接编码为 gbk。那由于编码不兼容,检索出来的数据肯定为乱码。2)表编码和客户端的编码一致,但是记录之间编码存在不一致的情形比如表编码是 utf8mb4,应用端编码也是 utf8mb4,但是表里的数...

mysql 中文乱码问题,求高手指教!
1.导入数据时:首先你要保证:页面的编码和数据库的编码一致如:utf8 再者你要导入数据时要保证客户端的编码是和上面的一致如:utf8 最后你要保证你导入数据本身的编码和上面的一致如:utf8 2.从页面向数据库插入数据时 有一个和数据库连接的程序注意要设置编码和数据库一样 3.从数据库看数据 (1...

PHP插入MYSQL数据库中文变成乱码 问号
去MYSQL里面设置,不要在PHP里设置MYSQL的编码,乱码肯定就是编码问题无疑,推荐你先把MYSQL里面表的编码改好,然后再把PHP的编码改好,这样就应该没问题了。

如何在MySQL的varchar列中输入中文数据
set names 'utf8';这是对数据库默认字符的设置 以后对数据库的操作都会使用utf8的字符编码 在你的程序里 也要适当的对字符进行处理 这要根据的你程序定 不一样的程序修改的形式不一样 像你以前在命令窗口下使用MySQL无法插入中文就是典型的字符不对造成的 你在对数据库操作之前 最好在命令窗口设置...

mysql数据库,中文模糊搜索结果不对的问题
1.server本身设定问题。2.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8。utf8可以兼容世界上所有字符!一、避免创建数据库及表出现中文乱码和查看编码方法 1、创建数据库的时候:CREATE DATABASE `test`CHARACTER SET 'utf8'COLLATE 'utf8_...

mysql中文乱码问题
其中任意一个编码不一致,都会导致表里的数据存入不正确的编码而产生乱码。比如下面简单一条语句:set @a = "文本字符串";insert into t1 values(@a);变量 @a 的字符编码是由参数 CHARACTER_SET_CLIENT 决定的,假设此时编码为 A,也就是变量 @a 的编码。2. 写入语句在发送到 MySQL 服务端之前...

mysql数据库在安装时默认的字符集编码为utf8但是为什么向数据库插入...
1) 正确的设定数据库编码.MySQL4.0以下版本的字符集总是默认ISO8859-1,MySQL4.1在安装的时候会让你选择。如果你准备使用UTF- 8,那么在创建数据库的时候就要指定好UTF-8(创建好以后也可以改,4.1以上版本还可以单独指定表的字符集)2) 正确的设定数据库connection编码.设置好数据库的编码后,在...

Linux系统下MYSQL数据库中文数据乱码问题
那首先要调查清楚,数据表的编码,看清,不是数据库,是表,表的字符集编码。然后往前顺。然后再java程序中转码,保证写到sql中的数据是以该数据表所用的字符集编码的就好了。乱码出现在不同部分的通信之间 一个系统中,通常是在显式输入中文的地方发生转码错误。比如,servlet处理从浏览器传来的数据的...

【求助】java:向mysql数据库插入数据时中文乱码,但是java文件和数据库都...
先确认你的数据库字符集设置没有问题,是确认不是认为应该是.url写成这样没有?jdbc:mysql:\/\/localhost:3306\/数据库名称?characterEncoding=UTF-8 我的是gbk,还要检查 数据库属性是不是 表选项

相似回答