my.cnf 中字符集设置
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+-----------------+
| Variable_name | Value |
+--------------------------+-----------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+--------------------------+-----------------+
10 rows in set (0.20 sec)
mysql> SET character_set_client = gbk;
Query OK, 0 rows affected (0.31 sec) mysql> SET character_set_connection=gbk ;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_database=utf8mb4;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_filesystem=binary;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_results=gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_system=utf8;
ERROR 1238 (HY000): Variable 'character_set_system' is a read only variable
mysql> set names gbk; 它相当于下面的三句指令:
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;
SET NAMES 'charset_name' COLLATE 'collation_name'
[client] //通过连接器连接 EG:PHP [mysql] //mysql程序登陆时的字符集
default-character-set = gbk
//等价
--SET character_set_client = gbk;
--SET character_set_results = gbk;
--SET character_set_connection = gbk;
#character_set_system=utf8mb4
#character_set_client=utf8mb4
#character_set_connection=utf8mb4
#character_set_database=utf8mb4
#character_set_results=utf8mb4 // #代表相应变量不能设置在这个区中,报错,mysql登陆报错
[mysqld] //mysqld起动时设置字符集
character_set_filesystem=binary
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='set autocommit=0; set names gbk;' //root 用户不会执行
#character_set_system=utf8mb4
#character_set_client=utf8mb4
#character_set_connection=utf8mb4 //#代表相应变量不能设置在这个区中,mysqld 起动报错
#character_set_database=utf8mb4
#character_set_results=utf8mb4 []
[client]
default-character-set = utf8 [mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
mysql> select * from t1;
+------------+-----------------+---------------------+
| cur_user | n_user | in_time |
+------------+-----------------+---------------------+
| @localhost | mysql@localhost | 2016-07-05 00:25:02 |
+------------+-----------------+---------------------+
1 row in set (0.19 sec) mysql> ALTER TABLE t1 MODIFY cur_user CHAR(50) CHARACTER SET sjis; mysql> show create table t1;
CREATE TABLE `t1` (
`cur_user` char(50) CHARACTER SET sjis DEFAULT NULL,
`n_user` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
`in_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
http://imysql.cn/2013/10/29/misunderstand-about-charset-handshake.shtml
character-set-client-handshake=1 Do not ignore character set information sent by the client. To ignore client information and use the default server character set,
use --skip-character-set-client-handshake; this makes MySQL behave like MySQL 4.0.
utf8mb4 字符集:
MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集。 utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节,而utf8mb4则扩展到一个字符最多能有4字节,所以能支持更多的字符集。 解决方案:将Mysql的编码从utf8转换成utf8mb4。 需要 >= MySQL 5.5.3版本、从库也必须是5.5的了、低版本不支持这个字符集、复制报错 停止MySQL Server服务 修改 my.cnf或者mysql.ini [client]
default-character-set = utf8mb4 [mysql]
default-character-set = utf8mb4 [mysqld]
character-set-client-handshake = 0
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4' 重启 MySQL Server、检查字符集 mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; 修改数据库字符集: ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; 修改表的字符集: ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 修改字段的字符集: ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 如果只是某个字段需要 只需要修改那个字段的字符集就可以了 另外服务器连接数据库 Connector/J的连接参数中,不要加characterEncoding参数。 不加这个参数时,默认值就时autodetect。
my.cnf 中字符集设置的更多相关文章
- Mysql字符集设置
转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...
- mysql配置命令 CHARACTER_SET_%字符集设置
参照: http://blog.csdn.net/mzlqh/article/details/7621307点击打开链接 其实现在的ubuntu12. 直接sudo apt-get install M ...
- mysql 字符集设置查看
1.列出MYSQL支持的所有字符集: SHOW CHARACTER SET; 2.当前MYSQL服务器字符集设置 SHOW VARIABLES LIKE 'character_set_%'; 3.当前 ...
- Mysql字符集设置 2 图
基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如'A'.'B'等: • 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodin ...
- mac下mysql5.6字符集设置
http://geeksblog.cc/2016/05/28/mac-mysql-unicode/ mac下mysql5.6字符集设置: 在mac下设置mysql5.6字符集时踩过的坑,百分百保证 ...
- java 访问 mysql 数据库的字符集设置
mysql是在linux下,java代码通过jdbc访问总是中文乱码.做过如下尝试: 1)修改 mysql的 my.cnf文件,设置 default-character-set等参数 2) 利用alt ...
- MySQL字符集设置—MySQL数据库乱码问题
MySQL(4.1以后版本) 服务器中有六个关键位置使用了字符集的概念,他们是:client .connection.database.results.server .system.MySQL有两个字 ...
- [mysql]深入Mysql字符集设置[转载]
http://www.laruence.com/2008/01/05/12.html 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等: • 给定一系列字符, ...
- 深入Mysql字符集设置
作者: Laruence( ) 本文地址: http://www.laruence.com/2008/01/05/12.html 转载请注明出处 根据Chaos Wang的PPT整理而成, 在此 ...
随机推荐
- 存储过程系列之调试存储过程 SQL Server 2005
在数据库中直接调试 在数据库中直接调试是调试SQL Server 2005的存储过程的最简单的方法. 在Visual Stuido的IDE中你可以选择单步执行存储过程,然后就可以一条语句一条语句地单 ...
- 【HDOJ】1508 Alphacode
简单DP.考虑10.20(出现0只能唯一组合).01(不成立). /* 1508 */ #include <iostream> #include <string> #inclu ...
- sdut2536字母哥站队(dp)
简单DP 说是简单 还是推了好一会 推出来觉得好简单 保留当前i的最小值 dp[i] = min(dp[i],dp[j]+i-j-1) j<i #include <iostream> ...
- 修改UISearchBar的Cancel按钮为中文等本地化问题
正确方法: 1:创建本地化strings. InfoPlist.strings 2:对InfoPlist.strings添加本地化语言. 即可. 只要添加文件, 系统会根据语言来调整显示文字 常见的搜 ...
- ZOJ 3791 An Easy Game
思路:dp+记忆化搜索,设dp[n][m]表示s1与s2不同字符个数为n,还需要变m步的方法数,那么: dp[n][m] = (c[n][i]*c[N-n][K-i]) * dp[n-i+(K-i ...
- HDU-4515 小Q系列故事——世界上最遥远的距离
小Q系列故事——世界上最遥远的距离 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) ...
- Rose
<html> <head> <title>JS小尝试</title> <meta http-equiv="Content-Type&qu ...
- Visual Studio 2012 Professional 密钥
Visual Studio 2012 Professional 密钥 4D974-9QX42-9Y43G-YJ7JG-JDYBP
- 表达式求职JAVA(转)
下面将练习大量的树操作 package 乒乒乓乓; import java.io.ObjectInputStream.GetField; import java.util.ArrayList; imp ...
- oracle 创建索引
一.索引简介 1.索引相当于目录 2.索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率. 3.索引的创建要适度,多了会影响增删改的效率,少了会影响查询的效率,索引最好创建在取 ...