首先,推荐一篇博客: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=3306 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 = 2 #skip-locking max_connections=100 table_open_cache=256 query_cache_size=1M tmp_table_size=32M thread_cache_size=8 innodb_data_home_dir="F:mysql/data/" innodb_flush_log_at_trx_commit =1 innodb_log_buffer_size=128M innodb_buffer_pool_size=128M innodb_log_file_size=10M innodb_thread_concurrency=16 innodb-autoextend-increment=1000 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 ####################配置文件结束###################