sql >> Databáze >  >> RDS >> Mysql

Erlang emysql Problém s kódováním emodži pro iPhone

Je to všechno o kódování utf-8. V Erlangu seznam znaků, ve vašem případě [240,159,152,130] , nejsou normálně kódovány, ale jsou to body kódu unicode. Když jste načetli data, dostali jste binární soubor obsahující bajty kódování utf-8 vašich znaků. Kde přesně k tomuto kódování došlo, nevím. Z prostředí erlang:

10> Bin = <<195,176,194,159,194,152,194,130>>.   
<<195,176,194,159,194,152,194,130>>
11> <<M/utf8,N/utf8,O/utf8,P/utf8,R/binary>> = Bin.
<<195,176,194,159,194,152,194,130>>
12> [M,N,O,P].
[240,159,152,130]

Manipulace s unicode v erlangu je docela jednoduchá, znaky v seznamech jsou obvykle body unicode kódu a jsou velmi zřídka zakódovány, zatímco jejich uložení v binárních souborech znamená, že je musíte nějakým způsobem zakódovat, protože binární soubory jsou pouze pole bajtů. Výchozí kódování je utf-8. V modulu unicode existují funkce pro převod mezi seznamy unicode a binárními soubory.




  1. Co přesně znamená M,D v desítkové soustavě (M,D)?

  2. Jak převést typ sloupce varchar na typ data bez ztráty dat

  3. Připravený příkaz Mysqli (prevence vkládání SQL)

  4. ImportError:Žádný modul s názvem 'MySQL'