`
chengxianju
  • 浏览: 257824 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

MySQL中的字符集和校对

阅读更多

MySQL服务器能够支持多种字符集。可以使用show character set语句列出可用的字符集:

先显示我的版本mysql>select version();

 

mysql> select version();
--------------
select version()
--------------

+--------------------------+
| version()                |
+--------------------------+
| 5.0.51b-community-nt-log |
+--------------------------+
1 row in set (0.00 sec)

 

然后,mysql>show character set;

 

 mysql>  show character set;
--------------
show character set
--------------

+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |
| dec8     | DEC West European           | dec8_swedish_ci     |      1 |
| cp850    | DOS West European           | cp850_general_ci    |      1 |
| hp8      | HP West European            | hp8_english_ci      |      1 |
| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
| swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
| ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |
| sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |
| hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |
| tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |
| euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |
| koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |
| gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |
| greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |
| cp1250   | Windows Central European    | cp1250_general_ci   |      1 |
| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |
| latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |
| armscii8 | ARMSCII-8 Armenian          | armscii8_general_ci |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| cp866    | DOS Russian                 | cp866_general_ci    |      1 |
| keybcs2  | DOS Kamenicky Czech-Slovak  | keybcs2_general_ci  |      1 |
| macce    | Mac Central European        | macce_general_ci    |      1 |
| macroman | Mac West European           | macroman_general_ci |      1 |
| cp852    | DOS Central European        | cp852_general_ci    |      1 |
| latin7   | ISO 8859-13 Baltic          | latin7_general_ci   |      1 |
| cp1251   | Windows Cyrillic            | cp1251_general_ci   |      1 |
| cp1256   | Windows Arabic              | cp1256_general_ci   |      1 |
| cp1257   | Windows Baltic              | cp1257_general_ci   |      1 |
| binary   | Binary pseudo charset       | binary              |      1 |
| geostd8  | GEOSTD8 Georgian            | geostd8_general_ci  |      1 |
| cp932    | SJIS for Windows Japanese   | cp932_japanese_ci   |      2 |
| eucjpms  | UJIS for Windows Japanese   | eucjpms_japanese_ci |      3 |
+----------+-----------------------------+---------------------+--------+
36 rows in set (0.00 sec)

 

任何一个给定的字符集至少有一个校对规则。它可能有几个校对规则。

 

要想列出一个字符集的校对规则,使用show collaction语句。例如,要想查看latin1(“西欧ISO-8859-1)字符集的 校对规则,使用下面的语句查找那些名字以latin1开头的 校对规则:

mysql>show collaction like 'latin1%' 

 

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
8 rows in set (0.00 sec)

 

 

latin1校对规则有下面的含义:

 

校对规则

含义

latin1_german1_ci

德国DIN-1

latin1_swedish_ci

瑞典/芬兰

latin1_danish_ci

丹麦/挪威

latin1_german2_ci

德国 DIN-2

latin1_bin

符合latin1编码的二进制

latin1_general_ci

多种语言(西欧)

latin1_general_cs

多种语言(西欧ISO),大小写敏感

latin1_spanish_ci

现代西班牙

 

校对规则一般有这些特征:

·         两个不同的字符集不能有相同的校对规则。

·         每个字符集有一个默认校对规则。例如,latin1默认校对规则是latin1_swedish_ci

·         存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。 

分享到:
评论

相关推荐

    mysql字符集和校对集

    ### MySQL字符集与校对集详解 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,在处理各种语言环境下的数据时,字符集和校对集的正确配置至关重要。本文旨在深入探讨MySQL中的字符集(Character ...

    精通MySQL字符集与校对集

    ### 精通MySQL字符集与校对集 在MySQL中,正确地管理和配置字符集与校对集对于确保数据的正确性和一致性至关重要。字符集主要用于定义如何存储和表示文本数据,而校对集则定义了如何比较这些文本数据。本篇文章将...

    深入 MySQL 字符集与校对规则:配置指南

    本文将详细介绍如何在 MySQL 中配置字符集和校对规则。 通过本文的介绍,你应该对如何在 MySQL 中配置字符集和校对规则有了深入的了解。正确配置字符集和校对规则对于确保数据的准确性和一致性至关重要。记住,选择...

    设置mysql字符集

    ### MySQL字符集的基本概念 字符集(Character Set)定义了数据在存储和处理时所采用的编码标准,而校对集(Collation)则规定了字符集下的排序规则和比较方式。在MySQL中,主要涉及以下几个关键变量: - `...

    Mysql字符集

    MySQL字符集和校对规则的设置具有层次性,分为四个级别: 1. **服务器级**:在`my.cnf`配置文件中或启动时通过命令行参数设定,如`default-character-set=gbk`或`./configure --with-charset=gbk`。 2. **数据库...

    mysql字符集和校对规则(Mysql校对集)

    简要说明 字符集和校对规则 字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 MySql在collation提供较强... 字符集_语言名,utf8默认校对规则是utf8_general_ci mysql字符集和校对规则有4个级别

    MySQL字符集

    MySQL字符集是数据库管理系统中的一个重要概念,它定义了数据在存储和检索时的编码方式,影响着数据库中字符串的表示和处理。字符集的选择对于多语言支持、数据一致性以及跨平台兼容性至关重要。MySQL支持多种字符集...

    MySQL客户端选项中的字符集配置.pdf

    #### 一、MySQL字符集与校对序概述 在MySQL中,字符集和校对序是非常重要的概念。字符集(character set)定义了一组字符及其对应的二进制编码方式,而校对序(collation)则是用来定义字符比较规则的一组规则。...

    查看和设置MySQL数据库字符集[归纳].pdf

    ### 查看和设置MySQL数据库字符集 ...本文介绍了多种查看和设置MySQL字符集的方法,包括通过配置文件全局设置以及针对特定数据库或连接进行设置。开发者可以根据实际需求选择最适合的方式进行操作。

    mysql字符集等常用命令

    ### MySQL字符集设置与解决UTF-8乱码问题 在MySQL数据库中,字符集的设置对于数据的正确存储和检索至关重要。特别是在使用UTF-8字符集时,如果配置不当很容易出现乱码问题。本文将详细介绍如何通过MySQL命令来正确...

    定制MySQL的字符交响乐:字符集与排序规则配置指南

    通过对MySQL字符集和排序规则的深入理解与配置,我们可以更好地管理和维护数据库中的数据。合理地选择和配置字符集及排序规则不仅可以提高数据的一致性和准确性,还可以增强应用程序的国际化能力。掌握了这些技巧,...

    关于mysql查询字符集不匹配问题的解决方法

    首先,我们需要理解MySQL中的字符集和校对集(Collation)概念。字符集定义了可以存储的字符范围,如拉丁字符集(latin1)和多语言的UTF-8字符集。校对集则是字符集的一种特定排序规则,它定义了字符的比较和排序...

    修改mysql默认字符集的两种方法详细解析

    这些命令分别设置客户端、连接、数据库、结果、服务器的字符集以及连接和数据库的校对顺序。 当你在发送查询前执行`SET NAMES 'utf8'`时,它会同时设置`character_set_client`、`character_set_results`和`...

    MySql 5.1 参考手册.chm

    10.2. MySQL中的字符集和校对 10.3. 确定默认字符集和校对 10.3.1. 服务器字符集和校对 10.3.2. 数据库字符集和校对 10.3.3. 表字符集和校对 10.3.4. 列字符集和校对 10.3.5. 字符集和校对分配示例 10.3.6. 连接字符...

    mysql中文成乱码.pdf

    3. 通过phpMyAdmin进行字符集和校对规则的调整:文档中提到了phpMyAdmin工具,这是一个基于Web的MySQL数据库管理工具,可以用来执行一些管理操作,包括设置数据库的默认字符集和校对规则。例如,`ALTER DATABASE '...

    jsp+mysql中文乱码解决方案集合

    ### jsp+mysql中文乱码解决...正确设置MySQL的字符集和校对集是关键,同时还需要注意整个应用程序环境的一致性,才能确保中文字符能够正确地存储和显示。希望本文提供的解决方案能帮助到正在面对这一问题的开发者们。

    MySQL数据库中乱码成因及解决办法探究.pdf

    正确理解和配置这些字符集和校对规则是避免MySQL数据库中出现乱码的关键。在处理多语言环境或者中文数据时,选择支持广泛Unicode的字符集如UTF-8通常是最佳实践,因为它能兼容各种语言,且是大多数现代系统默认的...

    Mysql5 字符集编码问题解决

    - **服务器级别**: `character_set_server` 和 `collation_server` 配置决定了MySQL服务器处理所有数据的默认字符集和校对集。 - **数据库级别**: 在创建数据库时,可以指定`DEFAULT CHARACTER SET`和`COLLATE`,...

    MySQL字符编码及乱码解决方案.txt

    MySQL字符编码及乱码解决方案 · 使用多种字符集来存储字符串 · 使用多种校对规则来比较字符串 · 在同一台服务器, 同一个数据库或甚至在同一个表中使用不同字符集或校对...· 允许定义任何级别的字符集和校对规则

Global site tag (gtag.js) - Google Analytics