MySQL及navicat for mysql中文乱码

全部使用utf8编码

MySQL中文乱码解决

  • 查看默认编码格式:
mysql> show variables like "%char%";  
  • 设置编码格式:
SET character_set_client='utf8';  
SET character_set_connection='utf8';  
SET character_set_server='utf8';  
  • 查看数据库test的编码格式:
mysql> show create database test; 
  • 设置数据库test的编码格式:
ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;  
  • 查看数据表testTable的编码格式:
mysql> show create table testTable;  
  • 设置数据表testTable的编码格式:
ALTER TABLE `testTable` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;   
  • 创建数据库、数据表时指定utf8编码:
//建数据库
CREATE DATABASE `test`  
CHARACTER SET 'utf8'  
COLLATE 'utf8_general_ci';  
//建数据表
CREATE TABLE `database_user` (  
`ID` varchar(40) NOT NULL default '',  
`UserID` varchar(40) NOT NULL default '',  
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

设置完成后,查询中文显示正常

navicat for mysql中文乱码

  •  修改Navicat服务器连接属性及数据库属性

重新连接仍然乱码

  • 修改mysql安装目录下my.ini文件

重新连接仍然乱码

  • Navicat连接编码格式改为“Current Windows Codepage”

重新连接,显示正常

  

原文地址:https://www.cnblogs.com/mufire/p/6697994.html