mysql字符设置
MySQL字符集设置
mysql>CREATE DATABASE IF NOT EXISTS mydb default charset utf8 COLLATE utf8_general_ci;//数据库mysql>create table mytable (name varchar(20) not null default '')type=myisam default charset utf8;//数据表
系统变量:
– character_set_server:默认的内部操作字符集
– character_set_client:客户端来源数据使用的字符集
– character_set_connection:连接层字符集
– character_set_results:查询结果字符集
– character_set_database:当前选中数据库的默认字符集
– character_set_system:系统元数据(字段名等)字符集
– 还有以collation_开头的同上面对应的变量,用来描述字符序。
• 用introducer指定文本字符串的字符集:
mysql> show variables like 'character_set_%';
mysql> set character_set_client=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_results=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.02 sec)
mysql> set character_set_system=utf8;
ERROR 1238 (HY000): Variable 'character_set_system' is a read only variable
mysql> set collation_connection=utf8;
ERROR 1273 (HY000): Unknown collation: 'utf8'
mysql> show variables like 'character_set_%';
mysql> set collation_database=utf8;
ERROR 1273 (HY000): Unknown collation: 'utf8'
mysql> set collation_database=utf8_general_ci;
Query OK, 0 rows affected (0.00 sec)
mysql> set collation_database=utf8_general_ci;
Query OK, 0 rows affected (0.00 sec)
mysql> set collation_server=utf8_general_ci;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'collation_%';
建表后如果后续需要修改表的默认字符集,可以通过ALTER TABLE来修改表的默认编码
mysql>alter database maildb default character set utf8;//修改数据库的字符集
mysql>alter table mailtable default character set utf8;//修改表的字符集
但可能只改了表定义的默认编码,对于每个列的已有字段的内容还是使用以前的编码,已有表数据不会做编码转换。
mysql>ALTER TABLE tablename CONVERT TO CHARACTER SET utf8;来修改列的编码
但这里要注意已有内容编码转换要注意编码可转换,不会成为乱码
永久修改mysql字符集设置(默认为latin1)
ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)
#vim
/etc/my.cnf
[client]
port =3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8 [mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
set-variable=key_buffer=256M
set-variable=table_cache=256
set-variable=sort_buffer=1M
set-variable=myisam_sort_buffer_size=64M
set-variable=net_buffer_length=8K
set-variable=record_buffer=1M
set-variable=thread_cache=8
set-variable=thread_concurrency=8
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
然后再重启mysql
service mysqld stop
service mysqld start
mysql字符设置的更多相关文章
- mysql字符设置乱码问题
在操作系统中对于任意一个字符而言是没有编码格式概念的:同样的字母在不同的编码集里面可能代表不同的东西:关键在于你用什么样的软件打开它,软件本身是以什么样的编码格式来显示你的字符,那么你的字符当前就是什 ...
- MySQL字符集设置及字符转换(latin1转utf8)
MySQL字符集设置及字符转换(latin1转utf8) http://blog.chinaunix.net/uid-25266990-id-3344584.html MySQL字符集设置及字符转换 ...
- Mysql字符集设置
转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...
- 修改数据库mysql字符编码为UTF8
Mysql数据库是一个开源的数据库,应用非常广泛.以下是修改mysql数据库的字符编码的操作过程. 步骤1:查看当前的字符编码方法 mysql> show variables like'char ...
- Mysql字符集设置 2 图
基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如'A'.'B'等: • 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodin ...
- linux mysql字符编码问题
发布:thatboy 来源:脚本学堂 [大 中 小] 本文介绍下,linux环境中mysql字符编码问题的解决办法,有遇到mysql编码问题的朋友,可以参考下本文的介绍,希望对你有一定的帮 ...
- mysql编码设置 [http://blog.knowsky.com/254652.htm]
MYSQL 2009-09-11 15:37 阅读73 评论1 字号: 大大 中中 小小mysql> SHOW VARIABLES LIKE 'character_set_%';+------- ...
- MySQL字符集设置—MySQL数据库乱码问题
MySQL(4.1以后版本) 服务器中有六个关键位置使用了字符集的概念,他们是:client .connection.database.results.server .system.MySQL有两个字 ...
- MySQL 字符集和校对
字符集是指一种从二进制编码到某类字符符号的映射,校对是一组用于某个字符集的排序规则.每一类编码字符都有其对应的字符集和校对规则 MySQL 如何使用字符集 每种字符集都可能有多种校对规则,并且都有一个 ...
随机推荐
- Mysql之左连接右连接内连接——示例 (转)
下面是两张表 表stu 表tech 1.右连接 当使用右连接语句查询时,返回结果如下: 1 SELECT stu.id,stu.name,stu.classe_name,tech.id,tech.na ...
- awk grep sed cut学习
awk学习网站 grep sed cut
- js实现键盘按键检测
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...
- vue打包后不使用服务器直接访问方法
根据官网打包执行npm run build 后dist文件夹打开的index.html 是空白 需要开启http服务器才能访问,以下是解决办法 1.找到config文件夹下的index文件 修改成 2 ...
- js中定义对象的几种方式
转载:http://blog.sina.com.cn/s/blog_60f632050100wz7h.html (1)基于已有对象的扩充方法:适用于临时构建对象,弊端:每次构建对象都要新建一个. va ...
- bzoj 2627: JZPKIL [伯努利数 Pollard-rho]
2627: JZPKIL 题意:求 \[ \sum_{i=1}^n (n,i)^x [i,n]^y,\ [i,n] = lcm(i,n) \] \(n \le 10^{18},\ x,y\le 300 ...
- Java随感
创新项目要用java,而我只大概会C++,只能靠自学咯~~~随时将一些重要的概念做笔记在这里吧>_< 1.一个源文件中只能有一个public类,一个源文件可以有多个非public类 2.所 ...
- BZOJ 1415: [Noi2005]聪聪和可可 [DP 概率]
传送门 题意:小兔子乖乖~~~ 题意·真:无向图吗,聪抓可,每个时间聪先走可后走,聪一次可以走两步,朝着里可最近且点编号最小的方向:可一次只一步,等概率走向相邻的点或不走 求聪抓住可的期望时间 和游走 ...
- HDU 3689 Infinite monkey theorem [KMP DP]
Infinite monkey theorem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- ES6 学习笔记之一 块作用域与let和const
---恢复内容开始--- 在学习ES6的块作用域和 let.const 之前,我们先来看看ES5以前的 var 关键字. var 关键字用于定义一个变量,通常我们会将其与变量的赋值合并为一条语句,就像 ...