sql >> Database >  >> RDS >> Mysql

Erlang emysql iPhone Emoji-coderingsprobleem

Het draait allemaal om utf-8-codering. In Erlang een lijst met karakters, in jouw geval [240,159,152,130] , zijn normaal gesproken niet gecodeerd, maar zijn de Unicode-codepunten. Toen u de gegevens ophaalde, kreeg u een binair bestand met utf-8-coderingsbytes van uw tekens. Waar deze codering precies plaatsvond, weet ik niet. Van de erlang-shell:

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]

Het omgaan met unicode in erlang is vrij eenvoudig, karakters in lijsten zijn meestal de unicode-codepunten en worden zeer zelden gecodeerd, terwijl het opslaan in binaire bestanden betekent dat je ze op de een of andere manier moet coderen, omdat binaire bestanden slechts arrays van bytes zijn. De standaardcodering is utf-8. In de module unicode er zijn functies voor het converteren tussen unicode-lijsten en binaire bestanden.




  1. Eenvoudige back-up en herstel voor mysql-database vanuit Java

  2. MySQL DATE-veld met standaard CURDATE(). NIET DATUM

  3. Is er een manier om IP te matchen met IP+CIDR ​​rechtstreeks vanuit de SELECT-query?

  4. Hoe opmerkingen toevoegen in SQL?