navicat for mysql不能显示中文的方法如下:
1首先修改mysql字符集,这个有说改配置文件,打开myini配置文件(MySQL的配置文件),加入:character_set_server = utf8
2用的是命令行方式修改,如下:进入cmd命令,进入mysql的bin目录下,启动mysql;使用命令:show VARIABLES like 'character%'; 查看当前字符集,发现都是gbk等字符集,这时使用如下命令改变字符集:
mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
3无论使用修改配置文件还是使用命令行修改字符集,修改完成后,需要重启mysql服务,这时,再用命令show VARIABLES like 'character%'; 查看当前字符集,已经生效。
4由于,已经建立了数据库,这时还需要在Navicat for mysql中,将数据库的字符集也改掉。右键数据库,选择数据库属性,如图。 进入后,修改字符集为utf8
5之后,还需要对每个表点击右键,选择 涉及表 ;然后在“选项”中,将表的字符集进行修改。
6还需要将varchar类型 字段的的字符集也要改掉,进入设计表中,点中某字段,发现,数据类型果然还是Latin1,那么好,一个一个改过来即可。当然,也可以使用命令的方式修改,命令如下:ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
ps:可以先尝试修改字符,如果修改字符依旧无效可以使用上述的办法。
本来就不显示,你要修改mysql的配置文件的,
Mysql默认的编码是latin1,所以通过Sqlyog或者Java程序读写数据库时,中文都将显示为乱码,但在控制台通过命令行可以显示中文。
如何解决中文乱码问题呢,改变Mysql系统的编码方式,在MySql目录下的myini文件中的default-character-set=latin1改为default-character-set=gbk(或其他),再重启服务。但仍然显示为乱码,原来是数据库的编码方式仍是latin1,我直接删除数据库,重新建了一个。后来发现在Mysql/data文件夹下在数据库名对应文件夹下多了个dbopt文件,内容为
default-character-set=gbk
default-collation=gbk_chinese_ci
大概这样改就OK了,不用重建数据库
这个问题简单,你可以在查询数据时给中文字段都设置英文别名,比如:
SELECT ID, [时间] as CreatedDate from [表名]这样你在程序中得到结果就可以这样了,
#foreach($info in $Data)<tr><td>$infoID</td><td>$infoCreatedDate</td><td>$infoTemp1</td></tr>
#end
不支持没有关系的,如果通过程序存入的文字,直接在SQL中打开看是乱码的,但是当你在页面中输出,还是会显示中文的,没多大影响。如果你用的是JSP,就要考虑一下中文问题了。
如果出现这样的情况,建议不要使用直接在SQL输入文字的方法。
中文没有搜索出来,我怀疑是因为乱码,一个是你传给数据库进行查询的参数是否是乱码,一个是你数据库中存的内容中文是否乱码
你可以打断点跟踪一下,来测试下第一种情况,第二种情况你直接看数据库内容就可以了
以上就是关于navicat for mysql中不能显示中文的解决方法全部的内容,包括:navicat for mysql中不能显示中文的解决方法、mysql中文无法显示、新手,ASP.NET查询数据库不支持中文字段名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)