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

来源:互联网 发布:mac电脑开机问号文件夹 编辑:程序博客网 时间:2024/05/01 06:17

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:

 mysql> source D:\meeting.sql;


0 0
原创粉丝点击