latin1(1和l的区别,l要么没有缺缺,要么缺缺是向左的直的; 1向左的缺缺是弯曲的,应该是可以看得出来的)是8位的字符集,表示英文和西欧字母.

瑞士: Switzerland [swits2land], 瑞士人(的): Swiss.

Swedish: 瑞典的.

collate: collation: 整理,校对; 排序规则

MySQL默认的校对规则是 :latin_swedish_ci, 为什么是瑞典的呢? 因为他的创始人 Monty 就是瑞典的。

mysql中查询等sql语句中的 通配符是 %. 在查询语句中可以使用 like 'latin1%'

mysql中show...的内容很多, 可以查看很多内容:

show character set;

show collation like 'latin1%';

character: 字符集, collation: 整理规则, 字符集中字符的"比较规则","排序规则"

latin类字符集,相当于latin语系,包括四种latin1, latin2, 5, 7四种字符集, 相当于东方语系包括中文, 日文, 韩文等字符集

字符集并不完全等同于整理规则, 仔细想想差别还是挺明显的. 而且同一个字符集可能有多个排序规则,如latin1 -> latin1_swedish_ci, latin_spanish_ci,...

因为一般很少指定collation,所以要指定一个 default collation.

ci: case insensitive 大小写不敏感

cs: case sensitive 大小写敏感

从 整理规则 可以知道 排序和比较的情况: 如utf8_general_ci: 表示字符集是utf8, 比较规则是general, ci是大小写不敏感,所以注册用户名和邮件地址时要使用, 如

A和a, mysql认为是相同的. 而utf8_bin: 表示字符集是utf8, 而比较排序时,按二进制存储和排序比较,则a和A是不同的. 也可以知道, 并不是所有的"整理"规则 都要

使用 ci.

show create table tablename; mysql显示 "数据表" 的 默认的字符集是latin1(注意不是utf8): ...default charset=latin1

show full columns from tablename; 可以查看各个字段的 整理规则;

最完整的现实字符集的命令是: status; 可以显示 默认的 windows平台下的 "服务器的字符集: latin1, db 字符集: latin1, connect字符集: gbk, client字符

集:gbk. "

也就是说, 从服务器,到数据库, 到表 都可以指定 "字符集", 而字段却不能指定字符集, 只能指定 "整理规则", (这个整理规则中就 可以认为 包含了 字段的字符集,

以及比较/排序 规则). 即使前3个层次的字符集默认的 都是 latin1, 但是 如果 字段的 "整理"为 gbk_chinese_ci的话, 也能正常显示中文.

mysql的版本是5.5.8-log, 其中的log表示开启了binlog功能, 有日志记录和日志管理功能.

5.0以后的mysql版本,采用bin二进制的日志格式. show master logs; 命令可以查看当前有哪些日志文件; set sql_log_bin=0/1; 用来关闭/打开日志功能;

mysqlbinlog 日志文件...; 显示查看日志.

日志文件: mysql-bin.index是日志文件 的清单; mysql-bin.000001, 是二进制文件,要用mydqlbinlog命令专门查看...

保证几个方面:

  1. mysql的server db table 的字符集应该一致,且与中文兼容(能显示中文,如gbk,gb2312,utf8, big5等等);
  2. 连接字符集同1, 包括: character_set_client = character_set_connection = charater_set_results = 兼容中文字符集之一; 可以用一个命令来解决:  set names 'gbk/utf8/gb2312等', ===== set charset-names ...
  3. 表中的字段的 collation要设为 兼容中文之一, 且与1,2 相同.

    当修改了 mysql服务器的1,2,后, 要重启mysqld 服务!!

如果这个还不行, 就考虑 编辑器的 编码字符集也同上1.

具体到上面的操作就是:

  1. insert命令后面要加上 into 关键字才行;
  2. 要设置服务器和数据库的字符集的命令是: set character_set_server='utf8' , 注意utf和8之间没有横线;set character_set_database='utf8'等等, 其他类似的变量都是同样的设置。 但是这个设置好像只能生效一次, 要长期生效?????????????、

  3. 创建时,要设置表的字符集, 命令是 default charset=utf8 , 这里注意是charset, 是character set两个单词的缩写, 不是两个 单词分开写的!
  4. mysql中 查看字符集和collation的命令是:

    show charater set; show collation, 但是你要注意, 这个是系统提供的、在系统中有的, 可以设置的字符集和校验, 但并不是当前server-db-table设置的字符集。

    要查看当前机器上的数据库字符集, 要使用 show variables;

    但是, show variables查看的是所有的 当前数据库系统正在运行的 变量包括字符集的设置, 所以,要查看其中某一些某一类的变量, 用like 来过滤, 如show variables like 'char%'...

  5. mysql的主配置命令, 是 etc下的 my.cnf, 注意是cnf, 不是config, 辅助配置文件目录是: /etc/my.cnf.d, 而他的数据等实体放在: /var/share/mysql中, 里面有很多的内容和东西...

mysql中文乱码解决方法的更多相关文章

  1. php mysql 中文乱码解决方法

    本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...

  2. 可遇不可求的Question之导入mysql中文乱码解决方法篇

    可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?

  3. mysql 中文乱码解决方法

    最近在.NET 项目中用EF连接mysql,插入中文数据时老是显示乱码,在创建表时都已将编码指定了,但是还是出现乱码,折腾了一阵子才发现在连接字符串里面也要加上指定编码 Character Set=u ...

  4. 转载-MAC Mysql中文乱码解决方法

    相关链接: http://www.siguoya.name/pc/home/article/235 如有,有问题可以留言.

  5. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  6. Delphi+MySQL:TADOQuery使用插入中文乱码解决方法

    Delphi+MySQL:TADOQuery使用插入中文乱码解决方法 with adoquery dobeginclose;sql.clear;sql.text:=' insert into test ...

  7. MySql数据库乱码解决方法

    MySql数据库乱码解决方法 解决乱码问题一个原则:存取系统使用一致的编码规则. 多使用mysql的原生命令行,这样才能做更多的事情. ​ 第一步: 确认应用系统需要使用的编码 java的默认编码是跟 ...

  8. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http: ...

  9. Zxing中文乱码解决方法

    Zxing中文乱码解决方法总结 尝试过非常多方法  最后发现此方法解决的乱码最多....... 在百度搜索二维码图片 经过前2页的測试  除开一张图之外  其余都能扫描出结果 假设大家有更好的解决方法 ...

随机推荐

  1. 如何利用excel中的数据源制作数据地图

    关于这个问题,制作数据地图的方法已不新奇,总体来说有这么几类方案: 一类方案:直接在excel里制作 优势:个人小数据量应用较为方便简单 缺点:需要熟悉VBA,且更强大的功能对VBA水平要求较高 1. ...

  2. NUOJ 88

    思路1: 找规律,本题若是直接暴力搜索,就是f(n)=2^n-1,然后f(n)%1000000,那么结果会越界:所以考虑用f(n+1)=(2*f(n)+1)%1000000,不过遇到较大数据的时候,会 ...

  3. HBASE 安装法

    http://www.cnblogs.com/nexiyi/p/hbase_intro_94.html

  4. PyCharm3.0默认快捷键(翻译的)

    PyCharm3.0默认快捷键(翻译的) PyCharm Default Keymap 1.编辑(Editing) Ctrl + Space    基本的代码完成(类.方法.属性)Ctrl + Alt ...

  5. 从贝叶斯到粒子滤波——Round 2

    上一篇博文已经讲了贝叶斯滤波的原理以及公式的推导:http://www.cnblogs.com/JunhaoWu/p/bayes_filter.html 本篇文章将从贝叶斯滤波引入到粒子滤波,讲诉粒子 ...

  6. React业务实践

    总结自:http://reactjs.cn/react/docs/thinking-in-react-zh-CN.html 当接到一个需求时,如何用react来实现? 以下几个步骤做参考. 第一步:把 ...

  7. 网站哀悼变灰代码集合 兼容所有浏览器的CSS变暗代码

    下面这些CSS代码可以把网站的网页变为黑白,只需将代码加到CSS文件或网页最顶端就可以实现素装.建议全国站长动起来.为遇难的同胞哀悼. 如何将网站变成灰色调呢,网站变灰色方法是什么?有哪些?为了方便大 ...

  8. 谈谈我的windows服务器运维管理

    我们开发的页游General War(http://gw.gamebox.com)上线运营也有半年多了,服务器的开发到运维基本都由我一手包办,在服务器上线之后我们又招了一个程序员接手后续功能的开发,而 ...

  9. 1323 union解题报告

    http://codeup.cn/problem.php?id=1323 1323: 算法2-1:集合union 时间限制: 1 Sec 内存限制: 32 MB 提交: 2884 解决: 688 题目 ...

  10. Sqlserver 语法总结

    修改列类型 alter table PRO_Element_b alter column matname varchar(1024) 更改一个表中的数据到另外一个表中 update a set a.n ...