> 데이터 베이스 > MySQL 튜토리얼 > mysql服务器字符集查询和设置方法

mysql服务器字符集查询和设置方法

WBOY
풀어 주다: 2016-06-07 16:16:55
원래의
1273명이 탐색했습니다.

1、查看 MySQL 数据库服务器和数据库字符集 show variables like '%char%'; 2、查看当前安装的 MySQL 所支持的字符集。 show charset; 3、设置编码: 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 default-char

   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;

  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函数操作通常都是以内部操作字符集进行的,不受连接字符集设置的影响。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿