您的位置:首页 > 数据库 > MySQL

mysql 数设置据库编码及避免导入乱码问题

2016-09-14 23:59 381 查看
MySQL会出现中文乱码的原因不外乎下列几点:

1.server本身设定问题,例如还停留在latin1

2.table的语系设定问题(包含character与collation)

3.客户端程式(例如php)的连线语系设定问题

一、避免创建数据库及表出现中文乱码和查看编码方法

1、创建数据库的时候:CREATE DATABASE `test`

                        CHARACTER SET 'utf8'

                         COLLATE 'utf8_general_ci';

2、建表的时候          CREATE TABLE `database_user` (

                        `ID` varchar(40) NOT NULL default '',

                        `UserID` varchar(40) NOT NULL default '',

                      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3,查看mysql数据库当前编码:

SHOW VARIABLES LIKE 'character%';

2,

    执行SET NAMES utf8的效果等同于同时设定如下:

      SET character_set_client='utf8';

      SET character_set_connection='utf8';

      SET character_set_results='utf8';

二、避免导入数据有中文乱码的问题

1,设置默认编码为utf8:

mysql> set names utf8;

2,创建数据库db_name默认为utf8

CREATE DATABASE `db_name` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

    更改数据库db_name默认为utf8:

ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

3,导入数据库数据sql:

(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;

 mysql> source D:\meeting.sql;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: