mysql服务器字符集查询和设置方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-07 16:29:14 浏览: 评论:0
在mysql中如果我们出现乱码了可以查询字符集编码得到更快的解决办法,当然我们也可以直接设置MySQL 字符集,如果MySQL 字符集设置不当就会出现乱码了,下面我来给大家介绍mysql服务器字符集查询和设置方法.
1、查看 MySQL 数据库服务器和数据库字符集:show variables like '%char%';
2、查看当前安装的 MySQL 所支持的字符集:show charset;
3、设置编码,修改my.cnf,代码如下:
- vi /etc/my.cnf
- --在[client]下添加
- default-character-set=utf8
- --在[mysqld]下添加
- default-character-set=utf8
保存,重启mysql即可,修改数据库的字符集 :
mysql>use mydb
mysql>alter database mydb character set utf-8(utf8);
创建数据库指定数据库的字符集:
mysql>create database mydb character set utf-8(utf8);
或者用mysql命令修改编码,通过MySQL命令行修改:
- set character_set_client=utf8;
- set character_set_connection=utf8;
- set character_set_database=utf8;
- set character_set_results=utf8;
- set character_set_server=utf8;
- set character_set_system=utf8;
- set collation_connection=utf8;
- set collation_database=utf8;
- --phpfensi.com
- set collation_server=utf8;
mysql修改表、字段字符集,把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
只是修改表的默认字符集:
ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
修改字段的字符集:
- ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
- --如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;
查看数据库编码:SHOW CREATE DATABASE db_name;
查看表编码:SHOW CREATE TABLE tbl_name;
查看字段编码:SHOW FULL COLUMNS FROM tbl_name;
MySQL中的字符集转换过程
1.MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;
2.进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下.
• 使用每个数据字段的CHARACTER SET设定值;
• 若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);
• 若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;
• 若上述值不存在,则使用character_set_server设定值。
3. 将操作结果从内部操作字符集转换为character_set_results。
其他注意事项
• my.cnf中的default_character_set设置只影响mysql命令连接服务器时的连接字符集,不会对使用libmysqlclient库的应用程序产生任何作用.
• 对字段进行的SQL函数操作通常都是以内部操作字符集进行的,不受连接字符集设置的影响.
Tags: mysql字符集 mysql字符集查询
相关文章
- ·MySQL字符集编码的理解分析(2014-09-25)
- ·MySQL中DATE_FORMATE函数内置字符集解析(2014-09-25)
- ·mysql字符集编码设置与查看命令(2014-09-27)
- ·mysql改变表table的字符集sql语句(2014-09-27)
- ·Liunx如何修改MySQL字符集(2014-09-28)
- ·MySQL latin1字符集中文乱码解决方案(2014-10-03)
- ·mysql字符集乱码解决方法总结(2014-10-13)
- ·mysql字符集和数据库引擎修改方法(2014-10-14)
- ·mysql字符集latin1迁移utf8的方法(2015-04-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)