mysql字符集
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql字符集,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3246字,纯文字阅读大概需要5分钟。
内容图文
![mysql字符集](/upload/InfoBanner/zyjiaocheng/913/307405aefe394a4bb0d23b24a222db7a.jpg)
恰当的字符集,畅快的体验!
00、Oracle字符集
Subsets and Supersets #子集与超集
Table A-11 Subset-Superset Pairs
Subset(子集) |
Superset(超集) |
AR8ADOS710 |
AR8ADOS710T |
AR8ADOS720 |
AR8ADOS720T |
AR8ADOS720T |
AR8ADOS720 |
AR8APTEC715 |
AR8APTEC715T |
AR8ARABICMACT |
AR8ARABICMAC |
AR8ISO8859P6 |
AR8ASMO708PLUS |
AR8ISO8859P6 |
AR8ASMO8X |
AR8MUSSAD768 |
AR8MUSSAD768T |
AR8MUSSAD768T |
AR8MUSSAD768 |
AR8NAFITHA711 |
AR8NAFITHA711T |
AR8NAFITHA721 |
AR8NAFITHA721T |
AR8SAKHR707 |
AR8SAKHR707T |
AR8SAKHR707T |
AR8SAKHR707 |
BLT8CP921 |
BLT8ISO8859P13 |
BLT8CP921 |
LT8MSWIN921 |
D7DEC |
D7SIEMENS9780X |
D7SIEMENS9780X |
D7DEC |
DK7SIEMENS9780X |
N7SIEMENS9780X |
I7DEC |
I7SIEMENS9780X |
I7SIEMENS9780X |
IW8EBCDIC424 |
IW8EBCDIC424 |
IW8EBCDIC1086 |
KO16KSC5601 |
KO16MSWIN949 |
LT8MSWIN921 |
BLT8ISO8859P13 |
LT8MSWIN921 |
BLT8CP921 |
N7SIEMENS9780X |
DK7SIEMENS9780X |
US7ASCII |
|
UTF8 |
AL32UTF8 |
WE8DEC |
TR8DEC |
WE8DEC |
WE8NCR4970 |
WE8ISO8859P1 |
WE8MSWIN1252 |
WE8ISO8859P9 |
TR8MSWIN1254 |
WE8NCR4970 |
TR8DEC |
WE8NCR4970 |
WE8DEC |
WE8PC850 |
WE8PC858 |
注意:
直接修改oracle字符集,子集向超集转变。是没问题的。汉字在gbk下占2个字节、utf8下是3个字节
01、mysql字符集关系
11、查看mysq支持的字符集
show character set;
22、查看当前数据库使用的字符集
show variables like '%character%';
参数解释:
mysql和字符集有关的变量
character_set_client: 客户端请求数据的字符集
character_set_connection:从客户端接收到数据,然后传输的字符集
character_set_database: 默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,那就使用 character_set_server指定的字符集,这个变量建议由系统自己管理,不要人为定义。
character_set_filesystem: 把os上文件名转化成此字符集,即把 character_set_client转换character_set_filesystem, 默认binary是不做任何转换的
character_set_results: 结果集的字符集
character_set_server: 数据库服务器的默认字符集
character_set_system: 这个值总是utf8,不需要设置,是为存储系统元数据的字符集
修改mysql字符集的方法:
mysql> SET collation_connection = utf8_general_ci ;
mysql> SET collation_database = utf8_general_ci;
mysql> SET collation_server = utf8_general_ci ;
02、mysql客户端请求字符集流转过程
一个完整的用户请求的字符集转换流程是
1) mysql Server收到请求时将请求数据从character_set_client转换为character_set_connection
2) 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,步骤如下
A. 使用每个数据字段的CHARACTER SET设定值;
B. 若上述值不存在,则使用对应数据表的字符集设定值
C. 若上述值不存在,则使用对应数据库的字符集设定值;
D. 若上述值不存在,则使用character_set_server设定值。
3) 最后将操作结果从内部操作字符集转换为character_set_results
附上mysql5.6.x的my.cnf配置
[client] default-character-set=utf8 [mysql] auto-rehash default-character-set=utf8 [mysqld] user=mysql innodb_buffer_pool_size = 256M join_buffer_size = 128M sort_buffer_size = 20M read_rnd_buffer_size = 64M lower_case_table_names=1 max_allowed_packet=500M wait_timeout=200000 interactive_timeout=200000 datadir=/servyou_domain/mysql/data socket=/var/lib/mysql/mysql.sock init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake symbolic-links=0 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES log_bin_trust_function_creators=1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/servyou_domain/mysql/data/mysqld.pid
内容总结
以上是互联网集市为您收集整理的mysql字符集全部内容,希望文章能够帮你解决mysql字符集所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。