sql >> Databasteknik >  >> RDS >> Mysql

Erlang emysql iPhone Emoji-kodningsproblem

Allt handlar om utf-8-kodning. I Erlang en lista med tecken, i ditt fall [240,159,152,130] , är normalt inte kodade men är unicode-kodpunkterna. När du hämtade data fick du en binär som innehåller med utf-8 kodningsbytes av dina tecken. Exakt var denna kodning inträffade vet jag inte. Från erlang-skalet:

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]

Att hantera unicode i erlang är ganska enkelt, tecken i listor är vanligtvis unicode-kodpunkterna och kodas mycket sällan, medan lagring av dem i binärer innebär att du måste koda dem på något sätt, eftersom binärer bara är arrayer av byte. Standardkodningen är utf-8. I modulen unicode det finns funktioner för att konvertera mellan unicode-listor och binärer.




  1. Ta bort kolumnrubrik i utdatatextfilen

  2. Drupal databasstruktur – effektiv/ineffektiv?

  3. JSON_VALUE() i MySQL

  4. MySQL visar alla datum mellan intervallet