南陔  

问题:从网页传递数据到数据库,控制台显示正常,数据库汉字全是???

   1. 检查数据库表,字段属性编码是否是utf-8,数据库默认是latin1

           改完还是问号

   2. cmd查询MySQL,查询编码格式

C:\Windows\system32>mysql -hlocalhost -uroot -p
mysql> show variables like "char%";
+--------------------------+-------------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\soft-ware\MySQL\mysql-5.7.29\share\charsets\ |
+--------------------------+-------------------------------------------------+

 

  3. 修改my.ini配置文件(没有则在压缩包解压后的文件里找到my-medium.ini)

     在[client]和[mysqld]字段下面均添加

        default-character-set=utf8

   mysql(mysql5.5以上),在高版本对字符编码方式修改的办法中,在[mysqld]下的修改发生了变化,正确方式如下:
       [mysqld]下添加的应该为:
       character-set-server=utf8
       collation-server=utf8_general_ci

  4. 重新启动MySQL,查询格式

 

+--------------------------+-------------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\soft-ware\MySQL\mysql-5.7.29\share\charsets\ |
+--------------------------+-------------------------------------------------+

 

posted on 2021-01-09 19:06  南陔  阅读(81)  评论(0编辑  收藏  举报