Mysql数据库不能插入中文,一插入就报错,是代码输入错误造成的,解决方法如下:
1、首先使用insert语句,把数据插入到数据库表里。
2、运行后,发现插入语句报错了。点击语句,查看详情,提示说插入的中文语句是不正确的字符串内容。
3、这时右键点击插入数据的表,然后点击表设计。
4、打开表设计界面后,点击上方的Option选项。
5、默认新建的表字符集用的是latin1字符集。要插入中文内容,需要将其改成ubf8字符集。
6、除此之外,需要保存中文内容的字段,也需要将其改成utf8字符集。
7、修改好,保存后,再次运行插入sql语句,可以看到成功插入中文数据了。
navicat for mysql不能显示中文的方法如下:
1.首先修改mysql字符集,这个有说改配置文件,打开my.ini配置文件(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是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET
NAMES
UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET
NAMES
GBK,代码如下:
$mysql_mylink
=
mysql_connect($mysql_host,
$mysql_user,
$mysql_pass)
mysql_query("SET
NAMES
'GBK'")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)