| Unicode-Bereich | UTF-8-Kodierung | Bemerkungen | Möglichkeiten
(theoretisch) |
|
|---|---|---|---|---|
| 0000 0000 – 0000 007F | 0xxxxxxx | In diesem Bereich (128 Zeichen) entspricht UTF-8 genau dem ASCII-Code: Das höchste Bit ist 0, die restliche 7-Bit-Kombination ist das ASCII-Zeichen. | 27 | 128 |
| 0000 0080 – 0000 07FF | 110xxxxx 10xxxxxx | Das erste Byte enthält binär 11xxxxxx, die folgenden Bytes 10xxxxxx; die x stehen für die fortlaufende Bitkombination des Unicode-Zeichens. Die Anzahl der Einsen vor der höchsten 0 im ersten Byte ist die Anzahl der Bytes für das Zeichen. (In Klammern jeweils die theoretisch maximal möglichen.) | 211 − 27 (211) |
1920 (2048) |
| 0000 0800 – 0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx | 216 − 211 (216) |
63.488 (65.536) |
|
| 0001 0000 – 0010 FFFF [0001 0000 – 001F FFFF] | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | 220 (221) |
1.048.576 (2.097.152) |
|
| Zeichen | Unicode | Unicode binär | UTF-8 binär | UTF-8 hexadezimal | Darstellung bei eingestelltem ISO-8859-1-Encoding |
|---|---|---|---|---|---|
| Buchstabe y | U+0079 | 00000000 01111001 | 01111001 | 0x79 | y |
| Buchstabe ä | U+00E4 | 00000000 11100100 | 11000011 10100100 | 0xC3 0xA4 | ä |
| Zeichen für eingetragene Marke ® | U+00AE | 00000000 10101110 | 11000010 10101110 | 0xC2 0xAE | ® |
| Eurozeichen € | U+20AC | 00100000 10101100 | 11100010 10000010 10101100 | 0xE2 0x82 0xAC | â�¬ |
| Violinschlüssel 𝄞 | U+1D11E | 00000001 11010001 00011110 | 11110000 10011101 10000100 10011110 | 0xF0 0x9D 0x84 0x9E | ð��� |
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 | cp1252 West European | latin1_swedish_ci | 1 |
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 |
CREATE TABLE `kelvin`.`utf8_test` ( `feld1` VARCHAR( 1 ) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL , `feld2` VARCHAR( 1 ) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL , `feld3` VARCHAR( 1 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ) ENGINE = MYISAM CHARACTER SET ucs2 COLLATE ucs2_bin
HTTP/1.x 200 OK Date: Fri, 05 Dec 2008 08:49:07 GMT Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch Last-Modified: Thu, 04 Dec 2008 16:29:48 GMT Etag: "2d33-3054-45d3b11af5700" Accept-Ranges: bytes Content-Length: 12372 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8
Gleichbedeutend mit folgenden Anweisungen SET character_set_client = UTF-8; SET character_set_results = UTF-8; SET character_set_connection = UTF-8;
Gleichbedeutend mit folgenden Anweisungen SET character_set_client = x; SET character_set_results = x; SET collation_connection = @@collation_database;
utf8_encode - Codiert ISO-8859-1 nach UTF-8utf8_decode - Codiert UTF-8 nach ISO-8859-1iconv - UNIX-iconv von beliebig nach beliebig