原文:http://www.2cto.com/database/201108/101151.html

MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所有字符!!!!一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候:

[sql] view plain copy

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;

这3个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。但是如果你已经建了库和表可以通过以下方式进行查询。1.查看默认的编码格式:

[sql] view plain copy

mysql> show variables like "%char%";

+--------------------------+---------------+

| Variable_name | Value |

+--------------------------+---------------+

| character_set_client | gbk |

| character_set_connection | gbk |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | gbk |

| character_set_server | utf8 |

| character_set_system | utf8 |

+--------------------------+-------------+

注:以前2个来确定,可以使用set names utf8,set names gbk设置默认的编码格式;

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

[sql] view plain copy

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_results='utf8';

2.查看test数据库的编码格式:

[sql] view plain copy

mysql> show create database test;

+------------+------------------------------------------------------------------------------------------------+

| Database | Create Database |

+------------+------------------------------------------------------------------------------------------------+

| test | CREATE DATABASE test /*!40100 DEFAULT CHARACTER SET gbk */ |

+------------+------------------------------------------------------------------------------------------------+

3.查看yjdb数据表的编码格式:

mysql> show create table yjdb;

| yjdb | CREATE TABLE yjdb (

sn int(5) NOT NULL AUTO_INCREMENT,

type varchar(10) NOT NULL,

brc varchar(6) NOT NULL,

teller int(6) NOT NULL,

telname varchar(10) NOT NULL,

date int(10) NOT NULL,

count int(6) NOT NULL,

back int(10) NOT NULL,

PRIMARY KEY (sn),

UNIQUE KEY sn (sn),

UNIQUE KEY sn_2 (sn)

) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |

二、避免导入数据有中文乱码的问题1:将数据编码格式保存为utf-8设置默认编码为utf8:set names utf8;设置数据库db_name默认为utf8:

[sql] view plain copy

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

设置表tb_name默认编码为utf8:[sql] view plain copy

ALTER TABLE tb_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;

2:将数据编码格式保存为ansi(即GBK或GB2312)设置默认编码为gbk:set names gbk;设置数据库db_name默认编码为gbk:[sql] view plain copy

ALTER DATABASE db_name DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

设置表tb_name默认编码为gbk:

[sql] view plain copy

ALTER TABLE tb_name DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

LOAD DATA LOCAL INFILE 'C:\gbk.txt' INTO TABLE yjdb;

注:1.UTF8不要导入gbk,gbk不要导入UTF8;2.dos下不支持UTF8的显示;三、解决网页中乱码的问题 将网站编码设为 utf-8,这样可以兼容世界上所有字符。  如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK, GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK。1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;3.在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用utf8或者gbk;

mysql cluster 乱码_Mysql中文乱码问题完美解决方案相关推荐

  1. debian mysql中文乱码_MySQL中文乱码的解决方法汇总

    当我们用PHP往MySQL数据库里插入中文时,一旦出现????乱码,很多同学就抓狂了,身为中国人,你却把中文汉字变成乱码,那我可不答应,于是乎我们就开始奔波于个大论坛发帖求助.... 对于MySQL中 ...

  2. mysql导出excel出乱码_Mysql中文乱码以及导出为sql语句和Excel问题解决方法[图文]...

    一.导出数据. 先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47. 我想把本机数据库内 ...

  3. mysql set names中文乱码_mysql中文乱码解析

    相信大家在开发后台的过程中都遇到过中文乱码的问题,今天我就来讲讲其中的原因. 我这建了3张表,test_latin1,test_utf8,test_gbk,表结构如下 +-------+------- ...

  4. ado.net mysql中文乱码_mysql中文乱码

    mysql中创建数据库时已经指定了编码格式为utf8,JDBC代码中也解决了乱码问题.可是当sql语句中出现了中文后,查询结果就会出现异常,和预期的结果不同. 解决方法一: 在url后面指定要使用的编 ...

  5. mysql编码是乱码_mysql中文乱码 常见编码问题解决方法分享

    我是真的服了 mysql默认字符不是utf-8也不是GBK而是拉丁文字?? 在增删数据时 "中文字符" 老是乱码不停!害得我浪费不少时间在这上面 为各位之后不走坑 再此留下解决方法 ...

  6. 《1---关于解决MySQL在控制台插入中文乱码问题》

    <1---关于解决MySQL在控制台插入中文乱码问题> 参考文章: (1)<1---关于解决MySQL在控制台插入中文乱码问题> (2)https://www.cnblogs. ...

  7. php mysql存中文,PHP+MySQL存储数据常见中文乱码问题小结

    PHP+MySQL存储数据常见中文乱码问题小结 本文实例总结了PHP+MySQL存储数据常见中文乱码问题.分享给大家供大家参考,具体如下: PHP+MySQL出现中文乱码的常见原因: 1. MYSQL ...

  8. 解决openfire在使用MySQL数据库后的中文乱码问题(转)

    openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等. 在实际使用时大家遇到最多的就是采用MySQL数据库 ...

  9. MySQL命令窗口出现中文乱码的解决方法

    MySQL命令窗口出现中文乱码的解决方法 参考文章: (1)MySQL命令窗口出现中文乱码的解决方法 (2)https://www.cnblogs.com/ttxcs/p/11614289.html ...

最新文章

  1. Java中的单利模式介绍
  2. (*p)++和*(p++)和*p++的区别
  3. [CocoaPods]常见问题
  4. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写...
  5. python网站用什么数据库_使用python读取mysql数据库并进行数据的操作
  6. Ajax,ajaxFileUpload文件上传同步代码js实现
  7. 三维视觉基础之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系
  8. 简单类型参数是值传递,对象参数是引用传递
  9. 【思维、费马小定理】CQXYM Count Permutations
  10. 解决办法:undefined reference to symbol '_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
  11. linux不要了装windows,从windows到linux —— 装linux吧,你不要怕!
  12. dpdk大页内存原理
  13. 个人笔记应用 - 思源笔记
  14. 状态方程的离散化仿真
  15. 认知升级篇:为什么我们一定要掌握自学能力?
  16. 苹果隐藏app_更新完iOS14,这9个隐藏黑科技功能,你一定还不知道
  17. Java中什么是多态?多态的优势和劣势是什么?
  18. 分块专题整理(分块+莫队)
  19. Unity学习笔记:个人学习项目《疯狂天才埃德加》纠错文档
  20. 留住前端面试官目光简历到底是怎样?4个方面把你简历问题一一突破

热门文章

  1. 解决matplotlib中文显示问题
  2. [解决方案]WebAPI+SwaggerUI部署服务器后,访问一直报错的问题
  3. Hadoop namenode无法启动问题解决
  4. 解决springboot启动失败问题:Unable to start embedded container;
  5. ubuntu 18.04,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法
  6. 有没有办法在Android上运行Python?
  7. excel保存时 检测到错误,Microsoft Excel可通过删除或修复某些功能来保存此文件
  8. python怎么做项目_...内学习python和django,并做出一个项目需要怎么准备,可以做什么......
  9. 蓝牙:CRC原理详解(附crc16校验代码)
  10. 洛谷——P1548 [NOIP1997 普及组] 棋盘问题