XOOPS Brasil

 

9.5. Suporte Unicode

Existem dois novos conjunto de caracteres para armazenar dados Unicode: ucs2 (o conjunto de caracteres UCS-2 Unicode) e utf8 (a codificação UTF-8 do conjunto de caracteres do Unicode).

  • Na UCS-2 (representação Unicode binária) todo caracter é representado por um código Unicode de dois bytes com o byte mais significante primeiro. Por exemplo: "LATIN CAPITAL LETTER A" tem o código 0x0041 e é armazenado como uma sequência de dois bytes: 0x00 0x41. "CYRILLIC SMALL LETTER YERU" (Unicode 0x044B) é armazenada como uma sequência de dois bytes: 0x04 0x4B. Para caracteres Unicode e seus código veja a Unicode Home Page.

    Restrição temporária: UCS-2 não pode (ainda) ser usado como um conjunto de caracteres de cliente. Insto significa que SET NAMES ucs2 não funcionará.

  • O conjunto de caracteres UTF8 (representação Unicode trasnformada) é um modo alternativo de armazenar dados Unicode. Ele é implementado de acordo com a RFC2279. A idéia do conjunto de caracteres UTF8 é que vários caracteres Unicodes cobem em uma sequência de bytes de tamanhos diferentes.

    • Letras, digitos e sinais de pontuação do Latin básico usam um byte.

    • A maioria das letras script da Europa e Oriente Médio cabem em uma sequência de dois bytes: letras Latin extendidas (com til, agudo, grave e outros acentos), Cirílico, Grego, Armenio, Hebreu, Árabe, Sírio e outors.

    • Ideógrafos Coreanos, Chineses e Japoneses usam sequências de três bytes.

    • Atualmente, o suporte MySQL UTF8 não inclui sequências de quatro-bytes.

    Dica: economize spaço com UTF8, use VARCHAR em vez de CHAR. Senão, o MySQL tem que reservar 30 bytes para uma coluna CHAR(10) CHARACTER SET utf8, pois este é o tamanho máximo possível.