首页 分类 关于我
ruby
Nginx 配置示例 工程师的产品观 理理File/Dir/Pathname(一) TracePoint介绍 ruby中的return 如何动态改变某个class的祖先链 ObjectSpace介绍 Rails日志实现探索(3) Rails日志实现探索(2) Rails日志实现探索(1) Rails中的request rescue exception in ruby 设计模式之观察者模式 require 的故事 ruby中的编码 研究ruby的一些小技巧 Rails中间件 ruby对象的序列化 ActiveSupport宝藏之MessageVerifier 如何写rakefile Ruby on Rails 环境及准备 基于Rack的项目初始化
git
如何移除某次提交之前的版本历史 Git 不常用的好用的命令 Git高级技巧之忽略文件
database
Mysql数据库编码 从mongodb向mysql迁移数据
工具
搭建ipsec服务
linux
Linux 常用查看命令

Mysql数据库编码

基本概念

字符(Character)

指人类语言中最小的表义符号。 例如‘a’、‘b’,‘好’等;

编码(Encoding)

给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符。 例如,我们给字符‘A’赋予数值0,给字符‘B’赋予数值1,则0就是字符‘A’的编码。

字符集(Character Set)

给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合。 例如,给定字符列表为{’A’,’B’}时,{’A’=>0, ‘B’=>1}就是一个字符集; 字符序(Collation)是指在同一字符集内字符之间的比较规则; 确定字符序后,才能在一个字符集上定义什么是等价的字符,以及字符之间的大小关系; 每个字符序唯一对应一种字符集,但一个字符集可以对应多种字符序,其中有一个是默认字符序(Default Collation); MySQL中的字符序名称遵从命名惯例:以字符序对应的字符集名称开头;以_ci(表示大小写不敏感)、_cs(表示大小写敏感)或_bin(表示按编码值比较)结尾。例如:在字符序“utf8_general_ci”下,字符“a”和“A”是等价的;

MySQL中默认字符集的设置

服务器级(Server)

  • 默认的内部操作字符集。
  • 配置:character_set_server

数据库级(Db)

  • 当前选中数据库的默认字符集
  • 配置: [mysqld] default-character-set=utf8

表级(Table)

  • 配置及查看:show full columns from <tablename>;

字段级

  • 注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。

© 2018 www.xinshengyin.com All rights reserved.

版权所有