Mysql数据库不能插入中文怎么回事儿啊?

Mysql数据库不能插入中文怎么回事儿啊?,第1张

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'")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9251955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存