MySql中插入中文显示的是乱码

我在eclipse中写的sql文件,执行之后在数据库中显示的就是乱码。已经设置了charset为utf-8,可是依旧是乱码,网上也搜到很多解决的办法,可是能使试的都试了,还是显示乱码。这究竟是怎么回事,哪位大师有一针见血的解决方法啊

段都有编码设置.
出现乱码肯定是你现在用的编码混乱造成的

解决办法:

第一步 先改数据库编码

先修改你的数据库,如果你页面用的是UTF-8编码那么你数据库内的编码也需要设置为UTF-8,每个字段都需要设置.要保持内外一致,你可以用Navicat for MySQL工具,这个工具里能看得很清除,如果表\字段很多的话你可以导出SQL语句,然后把SQL语句中相应的编码替换例如gb2312替换成utf8,然后再重新创建一个库,创建的时候字符集选择utf8的再把SQL语句导入,检查一下所有的编码都是utf8的就OK

第二步 程序修改

1\读库的时候
mysql_query("set names utf8");
2\每个页面头部加上一句
header("content-Type: text/html; charset=utf-8");
3\检查所有的编码声明是否正确
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4\检查页面中现有文字所使用的编码是否正确,推荐你使用editplus在右下角会有显示UTF-8或者ANSI,要保证所有带有中文的文件打开后显示的编码集是UTF-8,如果不是的话可以将所有文件打开然后从菜单选择"文档"-"文件编码"-"文件编码(多文件)",然后选择所有的文件点确定,更改编码为UTF-8确定!

OK到此位置大功告成,所有的编码一致,绝对不会再出现乱码了,多说一句.对于MYSQL操作工具的选择本人只推荐两款,一是大家都熟悉的PHPMYADMIN 再就是Navicat for MySQL也有很多人都在用.至于MYSQL-font实在有些垃圾,有时显示出来的数据库结构和实际的都有差别....不敢苟同,另外MYSQL官方出的SQLyog对于编码的支持太差劲了,很难控制具体的编码,所以最好也不要用
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-06
MYSQL数据库不仅每个库有编码设置甚至是每个字段都有编码设置. 出现乱码肯定是content=
第2个回答  2011-03-06
你先执行 show variables like 'character%'; 显示据库的编码方式
如果有不是 utf8的地方都如下处理:
set global character_set_database=uft8;
set global character_set_server=utf8;
set global character_set_connection=utf8;
set global character_set_client=utf8;追问

只有filesystem的是binary 。其余的都是utf8 啊,可是还是还是不行啊,

第3个回答  2011-03-07
。你可以右键单击你的工程文件->properites->text file encoding选择和和你数据库一样的编码就可以 了。追问

试了,乱码依旧

第4个回答  2011-03-08
在所有执行mysql_query函数做数据库插入删除查询之前 执行下面三个命令:
mysql_query('set character_set_client = utf8');
mysql_query('set character_set_connection = GBK');
mysql_query('set character_set_results = utf8');
而不是以前的 set names utf8命令创建数据库和创建表之时指定编码为gbk ,指定 整理为 gbk_chinese_ci;
CREATE DATABASE `test` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
这样你的网站永远 都不会有乱码问题了而且如果有一个字段是 username char(20),这样就可以插入20个汉字,而不是20/2或者 20/3之类如果插入的是20个汉字, select length(username)查看 会返回 40 ,也就是说,mysql 实际是用40个字符存储的但是我们不用去管他实际的存储,你想要限制多少就直接是指定char()多少就可以了,汉字和英文同样对待。
gb2312_chinese_CI : 只支持简体中文
gb2312_BIN :而gb2312_bin可以说是gb2312_chinese_ci的一个子集,
而且gb2312_BIN是二进制存储.区分大小写

解决MySQL中文乱码问题的实用方法mysql中使用中文乱码
重启MySQL服务以使更改生效。3. 使用SET NAMES命令 SET NAMES命令用于更改客户端连接的默认字符集。在应用程序代码中,您可以将SET NAMES命令插入连接到MySQL的代码中,以确保正确的字符集。以下是一个示例:conn = mysql_connect($db_host, $db_user, $db_pass);mysql_select_db($db_name);mysql_...

mysql数据库中存进的是中文,为什么查出来的乱码?
一、转码失败在数据写入到表的过程中转码失败,数据库端也没有进行恰当的处理,导致存放在表里的数据乱码。针对这种情况,前几篇文章介绍过客户端发送请求到服务端。其中任意一个编码不一致,都会导致表里的数据存入不正确的编码而产生乱码。比如下面简单一条语句:set @a = "文本字符串";insert into ...

MySQL如何解决中文乱码问题mysql中文乱码问题
首先,我们要知道MYSQL中出现乱码的原因:MYSQL使用的是指定的字符集,而不是某个具体的字符集,如果现在传输的数据是某个文字的其他编码,就会出现乱码的现象。要解决MYSQL中文乱码,我们需要检查客户端连接的字符集。例如,如果我们希望使用UTF-8编码:mysql> SET NAMES ‘utf8’;我们还可以...

解决C语言MySQL插入数据乱码问题cmysql插入乱码
在插入数据前需要设置当前连接的字符集为UTF-8,可以通过以下代码实现:mysql_query(&mysql,”SET NAMES utf8″);4. 修改表的字符集 如果在执行以上步骤后仍然存在数据乱码问题,可以考虑修改表的字符集。可以通过以下SQL语句将表的字符集修改为UTF-8:ALTER TABLE 表名 CONVERT TO CHARACT...

mysql中文乱码原因及解决方法汇总介绍_mysql中文乱码原因及解决方法汇总...
首先,导致MySQL中文乱码的主要原因有三个:1. MySQL服务器本身的设定,可能是仍使用了不支持中文的字符集,如latin1。2. 数据库表的语系设定,包括character和collation,需要设置为支持中文的UTF8。3. 客户端程序(如PHP)的连接字符集设定,推荐使用utf8,以兼容全球字符。针对Linux下MySQL中文乱码,...

mysql导入文本文件,乱码怎么解决
方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file –default-character-set = utf8 方法二: 在命令行导入乱码解决 1. use database_name;2. set names utf8; (或其他需要的编码)3. source example.sql (sql文件存放路径...

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)_MySQL
修改为UTF8以后,在命令行下面中文是乱码的,只输出到页面或控制台是正常的,这个问题我也上网查了一下,貌似命令行下面不支持UTF8,我也不太清楚。当修改以后,在命令行下面如果要插入中文,可以在插入语句之前执行,set names gbk2312;就可以插入中文了,但是不能插入繁体和一些特殊符号。

MySQL中不支持中文输入的问题mysql不可以输中文
这个问题可能是由于MySQL中采用的字符集不包含中文字符,导致输入中文时乱码;也有可能是由于MySQL数据库连接时没有指定正确的字符集参数,导致中文数据无法正确处理。为了解决这个问题,我们可以采用以下方法:1. 修改MySQL默认字符集 MySQL默认采用的字符集是latin1,该字符集不包含中文字符。因此,我们可以...

MySql中插入中文显示的是乱码
出现乱码肯定是你现在用的编码混乱造成的 解决办法:第一步 先改数据库编码 先修改你的数据库,如果你页面用的是UTF-8编码那么你数据库内的编码也需要设置为UTF-8,每个字段都需要设置.要保持内外一致,你可以用Navicat for MySQL工具,这个工具里能看得很清除,如果表\\字段很多的话你可以导出SQL语句,...

在mysql中插入中文时,在jsp页面上能正常显示;但是在jsp页面上插入中文...
1、在建立JSP页面时应该注意在jsp页面的头部加入一下代码 <% page contentType= "text\/html; charset=gb2312 " %> 此方法是解决JSP页面显示时的乱码。2、有时还需在HTML代码中的 中加入这句 3、在bean中用的是iso-8859-1编码,在jsp中一般用GB2312编码,处理此类乱码问题如下 String str=ne...

相似回答