关于mysql数据库插入数据,不能插入中文和出现中文乱码问题

首先,推荐一篇博客:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html

当时,我安装完mysql数据库后,新建一个数据库后插入数据,首先出现了中文不能插入mysql数据库的问题,解决办法如下:

修改mysql文件中my.ini里的 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"变成sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",修改完后,重启mysql服务,即可解决中文无法插入的问题。

接下来,可能会发现插入的中文出现了乱码问题,那么解决的办法就是,修改my.ini文件中 character-set-server=utf8和 character-set-server=utf8这两句,如果不是utf8就全部修改成utf8格式,这样再次重启mysql服务即可解决插入中文乱码的问题。(PS:这里又会出现一个新问题,那就是在之前已经创建的数据库,此时插入中文可能也会出现中文乱码,解决的办法就是删除原来创建的数据库,重新创建一个一模一样的数据库,就不会出现插入中文乱码的问题啦)

 具体修改完后的my.ini文件如下(此处是我自己的mysql中my.ini文件,仅作参考哦):

####################配置文件开始###################

 # For advice on how to change settings please see

 # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

 # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

 # *** default location during install, and will be replaced if you

 # *** upgrade to a newer version of MySQL.

 [client]

 default-character-set=utf8

 [mysqld]

 character-set-server=utf8

 port=

 basedir  ="F:\mysql/"

 datadir  ="F:\mysql/data/"

 tmpdir   ="F:\mysql/data/"

 socket   ="F:\mysql/data/mysql.sock"

 log-error="F:\mysql/data/mysql_error.log"

 #server_id = 

 #skip-locking

 max_connections=

 table_open_cache=

 query_cache_size=1M

 tmp_table_size=32M

 thread_cache_size=

 innodb_data_home_dir="F:\mysql/data/"

 innodb_flush_log_at_trx_commit =

 innodb_log_buffer_size=128M

 innodb_buffer_pool_size=128M

 innodb_log_file_size=10M

 innodb_thread_concurrency=

 innodb-autoextend-increment=

 join_buffer_size = 128M

 sort_buffer_size = 32M

 read_rnd_buffer_size = 32M

 max_allowed_packet = 32M

 explicit_defaults_for_timestamp=true

 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

 #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

####################配置文件结束###################
上一篇:lr中用C语言比较两个字符串变量


下一篇:PAT Basic 1005