10.2. Conjuntos de caracteres y colaciones en MySQL

MySQL 5.0

10.2. Conjuntos de caracteres y colaciones en MySQL

El servidor MySQL soporta varios conjuntos de caracteres. Para listar los disponibles, use el comando :

mysql> 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   | ISO 8859-1 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 |
...

(Para un listado completo, consulte Sección 10.10, “Conjuntos de caracteres y colaciones que soporta MySQL”.)

Cualquier conjunto de caracteres tiene siempre como mínimo una colación, aunque puede tener varias.

Para listar las colaciones para un conjunto de caracteres, use el comando . Por ejemplo, para ver las colaciones para el conjunto de caracteres (“ISO-8859-1 Europa Occidental”), use el siguiente comando, que muestra el nombre de las colaciones que empiezan con :

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

Las colaciones para tienen los siguientes significados:

Colación Significado
Alemán DIN-1
Sueco/Finlandés
Danés/Noruego
Alemán DIN-2
Binario según codificación
Multilingüe (Europa Occidental)
Multilingüe (ISO Europa Occidental), sensible a mayúsculas
Español moderno

Las colaciones tienen las siguientes características generales:

  • Dos conjuntos de caracteres distintos no pueden tener la misma colación.

  • Cada conjunto de caracteres tiene una colación que es la colación por defecto. Por ejemplo, la colación por defecto para es .

  • Hay una convención para nombres de colaciones: empiezan con el nombre del conjunto de caracteres al que están asociados, normalmente incluyen el nombre del idioma, y acaban con (no distingue entre mayúsculas y minúsculas), (distingue entre mayúsculas y minúsculas), o (binario).