Côte d'Ivoire: En unicode falerad stat idag nästan bara känd för ständigt rapporterad tecken tortyr

2015-09-18
  • Vi motiverar upp folket i Burkina Faso med den kodnings-falerade staten Côte d'Ivoire som skräckexempel: Hur blir framtiden om diktaturen eller vad det blir plötsligt inför något udda franskt tecken som resulterar i att nästan allt skrivit om land på nätet berör data-defekter av olika slag.
  • Att våga lösa problem tillsammans med invandrarna istället åt eller mot dem: Dessutom ges ett fint exempel på hur man kan hantera problem med olika unicode-grupperingar runt om i världen när de märkt att du falerat i hur du kodat deras geo-region eller religion och dom är ute efter att koda tillbaka dig till sämre service eller tänkbart ned i graven (tecken-kodning är verkligen verksamhetskritiskt för vem som helst). Som bonus kommer vi utan extra åtgärd lärt oss ett kombinerat afrikanskt-/ arabiskt-språk när vi implementerat exempel-åtgärderna...
  • Mer data ger desto mer IT: Slutligen löser vi kodningsproblem med filer lättare genom att sätta Emacs artificiella intelligens under egen-hantering programmatiskt (mindre egen kod och inget problem av meta-m rätt kommande, rätt teckenkodning o.s.v.). En riktigt fet klassisk AI ger en gedigen lösning på allt tänkbart runt strängar och kodning.

När nu så mycket nyhetsintresse igen riktas (i "normaliserad" mening för franska Västafrika: D.v.s. lite mindre än många andra delar av världen för samma händelser) låt oss inte glömma Burkina Faso's grannland Cote d'Ivoire [sic].



Cote d'Ivoire är nationen som är själva varningssignalen på att problem runt unicode, mer komplexa filsystem, komprimering, databaser m.m. dykt upp.


Eller som denna i unicode falerade staten vill kalla sig: Côte d'Ivoire (dutten ovanför o är en περισπώμενος ‎- vi kan säkert ta för givet att det bara är att kopiera en lite grekisk-text i Blogger så blir det rätt i webbläsare efter publicering - d.v.s. något vi ritat runt något: Circumflex) Låt oss illustrera vad denna nation blivit känd för med några jämförelser i antal sökresultat jag får på Google.com för:


Överst i kombination med encoding varande nu både beskrivande vad unicode gör av alla tänkbara tecken som vad det är och vad standarden beskriver sig som:



Och så kommer Cote d'Ivoire:



I jämförelse med Sverige som inte försökt visa upp en till "IT-sida" genom att kalla sig Svärge (eller varför inte Svårge för att ge norrlänningarna med sitt svårmod lite utrymme):



Tillsammans med några mer eller mindre fungerande (eller om vi så vill periodvis i alla fall ganska trasiga unicode-stöd):



Det är bl.a. en iso-standard:



Och kallas SO/IEC 10646 för 16-bitars varianten (så många tecken hit eller dit ingen för troligt en försvarlig mängd ens använt i tryckt text innan krävs 16-bitar för att ge varje tecken en unik-representation: I kontrast med sju bitars ascii eller i ofta nog tillräckligt alfabet - [A-Za-z0-9 ]).



Och Wiktionary förklarar när vägen mot tecken-falerad stat började:


"Usage notes
The country was originally known in English as Ivory Coast, and corresponding translations in other languages. In October 1985 the government requested that the country be known as Côte d'Ivoire in every language. Read more at Wikipedia."

Från: C%C3%B4te_d%27Ivoire | Wiktionary


Nå mången minns nog detta land. Förutom ett känt test-fall gäller ju att åtminstone alla länder, alla större städer, alla befolkningsgrupper, alla patientgrupper, alla politiska partier och organisationer, alla språk, allt särskilt intresserat, allt "känsligt" rörande hur dom själva framställs, allt som inte kan tala för dom själva (d.v.s. behöver barn, döda, brottsoffer m.fl. utan möjlighet att verifiera representeras oavsett sunda begränsningar redan innan det ska den som representerar dem se till att representera dem korrekt eftersom de har sämre möjlighet att själva reagera) o.s.v. representerade vad man bör ha respekt att hantera rätt - Medan President Ôbama kan ta ett litet fel och om inte får antas själv eller via myndigheter kunna betala någon på ambassaden som sitter och Obama-korrekturläser post-publicering), och allt och alla som kan för dig bli "störande agiterade" ensamma eller i grupp (betar vi nyhetsuppmärksammat genom att reta upp alla halv- till helfnoskiga muslimska extremister är det klokt att de försöker mörda oss för något vi begriper snarare än något mer udda esoteriskt brott p.g.a. av felkodning av namn eller religiöst koncept så vi inte verkat helt okunniga rörande vad vi kritiserat).


Annars sitter någon (kanske jag för annat) och testar lite för att dom tycker att det är kul eller för att störa din viktiga applikationer med en massa upprörda innevånare från ett land i Västafrika (om det inte är finländare, ryssarna, japanerna, kineserna, allt indiskt o.s.v.) i stavningen ganska likt något du såg på skärmen men inte hittade i Wikipedia eller på nätet som visar sig ha invandrat sista 20 åren i betydande antal till Sverige så de kan irritera dig i person (du noterar att den afrikanska medarbetaren en underleverantör till din bostadsrättsförening använder har slutat att städa rätt utanför din dörr och tittande på honom genom dörrens öga ser du att han som sopar mot den dörr, när han är klar med din trappuppgång och du öppnar dörren noterar du en massa damm och smuts sopat mot just din dörr medan alla andra dörrar är rena. Du vet nu att du kodat något engagerat felaktigt. Kanske sa Emacs att det var - eller menade att det tolkades som - Mule medan det såg helt rätt ut. Rekommenderad åtgärd jag gjorde för att visa mig särskilt trevligt intresserad av kulturen o.s.v. och försöka luska ut om det satts upp någon som grupp lokalt rörande någon tecken-kodning eller liknande jag skrivit:


  • Vi lär oss lite Swahili. Mitt Afrika, Swahili, Vår biståndsminister och Spanskan i Österlandet / Väst (2011-08-31). Idag mer tillbaka i mitt gamla cyniska jag har jag nu svårt att se mig själv riktigt lägga märke till vad man råkat trampa på då eller efteråt. Men likväl ett intressant språk att ha tittat lite på även om danskdjävlar, finländare, tyskdjävlar eller fransmän ej ska förvänta sig att jag tänker lära mig något av deras språk).
  • Vi intresserar oss med vårt nya språk så långt vi nu lärt: Hakuna Matata: \152343\112343\252343\212343 ???

Svarar han eller hon i unicode är det signikant. Det drabbade mig här. Eftersom jag inte brytt mig i att förbereda något jag begrep vad jag sa adderade det på riskdimensionerna ännu mer. Mär jag försökte minnas vad han svarade med måste jag uppenbart kommit fel eftersom siffer-kodningen jag mindes han svarade med ej blev något meningsfullt när jag slog upp det. Kostade mycket av kompenserande kultur-engagerade åtgärder efterföljande redan dyra Swahili. Men jag var mindre cynisk dom här åren. Förövrigt har jag råkat ut med samma problem med Swahili. Man lär sig en del bra med från parlören ganska diffusa begrep om hur annat låter. Och pratar lite och får en massa svar som man inte begriper ett dugg av och som tycks bli som agiterat och motiverat när det blir tydligt att man inte begriper dem. Vad Lejonkungens härligt köttätande idyll med vegetariska alternativ helt missade att visa något av.


Mer av dåligt hantverk i hela området teckenkodning jag och andra hederliga IT-arbetare nu lider av

I kombination med en annan väldigt vanlig ISO-standard för tecken kodning (som jag ej lyckades köpa för 0 kr från Sis men jag såg något relaterat spännande runt Fortran som behov eller intresse tidigare att lära mig ännu ej presenterat sig för: Datorgrafi - Anpassning GKS-FORTRAN som jag nog ska spara till och ha roligt med när jag förtjänat något kul som dessutom säkert många gånger kommer visa sig värdefull att ha.


Hoppas att SIS gjort något runt iso-teckenkoderna och COBOL (1950-talets programmering mycket "bandmaskin" sekventiellt i hantering av indata och vad man idag när problematiskt att få ut datat från för portning till något modernt ibland hanterar genom att fotografera av skärmen med data (som i inlägg länkat föreslaget för ett system jag ej vet eller minns nu i alla fall vad det är byggt i) och köra in i bildanalys) och C-64 BASIC V2 också).



Faktiskt när man gör bildanalys på dokument med text blir hela frågan om "förslappade lyx-bokstäver" en felkälla på enorma magnituder. Minst fel får man när man bara håller sig till [A-Za-z0-9 ] samt punkter (rätt antal ungefär blanksteg är stort ej trivialt värde). Lösningar som försöker något mer än bara lite mer än så börjar ge sig på för alla jag sett föreslå rena orimligheter trots uppenbart i delar användande språkmodeller (hur vanligt nu matematiska uttryck tolkas vara: Troligen ej tolkas alls hos dem när de grekiska plötsligt dyker upp mellan ett par engelska ord). Minsta lilla defekt i avbildningen genom fotografering eller så jämförbart (eller en utmanande bakgrund till texten i en bildruta från ett filmklipp) får dem gärna att hamna fel. Ganska speciellt faktiskt eftersom man ändå hållit på en väldig massa ord med identifikation av bokstäver i text.


Återvänder vi här till Côte d'Ivoire gäller att en god språkmodell i tecken förekomst, kunskap om statistik frekvens för förekommande entiteter, samband för flergram mellan ord och kanske också hänsyn grammatik (även om jag tror för det sista att det inte ger så himla mycket för identifikation tecken).


Ett bra exempel på vardags-praktiskt fungerande såväl som ett gott råd till Côte d'Ivoire (och kanske Frankrike jag misstänksamt spekulerar bär en stor del av ansvaret för denna falerade unicode stat) har vi med Google resp. pdf-inskanningen på DTIC.mil (DTIC.mil använder Google COOP - eller vad de numera kallar det men i generation ungefär introducerad på sidan samtidigt med COOP tror jag) så vi kan samma lösning för samma dokument:



I sökresultatet:



Jag ar många gånger stört mig av hur ändå utmanande det kan vara att få över sådana här pdf-representationer av av-fotograferade till text. Helst skulle man vilja göra något som att bara markera allt och kopiera det. Om ens PDF-läsare visar bokstäverna rätt så borde man i all rimlighet få ut det rätt. Visst att det kan tortera dig många år att få flexibel mångsidighet runt unicode och allt besläktat att fungera vettigt runt indata du importerar men efter en fem år fungerar det ändå ganska vettigt i konvertering hit och dit även om av och till något på vägen falerar och man ej får den enkelhet görande det möjligt att kontrollera filerna manuellt direkt i Emacs eller annat lämpligt med rätt tecken genom att öppna dem utan råkar på diverse escape-tecken som vanligen vid problem (när jag oftare fick dem en tre år sedan) tog två bytes.


Ger vi oss på att kopiera titeln från vad nu för pdf-läsare Putty i Google Chrome har som default får vi:


A23 209 'areahandbook series!
COte d'Ivore 7
a country study,
-
0 DSTIWUh)
Distribution
f r STEMNTApprovcd uIlIc
UnlimitedI
release; 0

Konverterar vi PDF-dokumentet till text med pdftotext får vi faktiskt ett bättre resultat:



Egentligen oavsett vad jag senare kan ha skrivit om utmaningar m.m. för att lösa sådant här: Borde sådana här program egentligen inte bara fungera så man får något bra ut från dem? Jag och de flesta tycker nog det. Och det kan inte alltid vara att alla vi ska lösa problem en eller ett fåtal kunde lösa i sitt program. Det vore bara dålig tim-ekonomi och som uppskalad lösning vad som kan skada ekonomisk tillväxt och tar oss innan fordismen effektivisering av kundgrupper till standardiserade produkter effektivt tillverkade. Lite som att varje bostadsområde tillverkar en egen bil lite hur som helst beroende på vem som ska ha den.


Som man kan se från första sidan av PDF-dokumenten är en dimension av problematiken att man använder fonter i olika storlek och på olika sidor vilket är information om blanksteg m.m. konvertering ej utnyttjar (problemområdet i alla flexibilitet av vad vi skapar är emellertid knappast helt trivialt att göra nytta av i ett program som pdftotext även om man faktiskt kan hitta en del arbeten praktiskt och information tänkbart användbar om vi går mycket längre tillbaka i datahistorien till tiden när man arbetade man hålkort och önskade göra inläsning så snabb som möjlig och därför utnyttja samlad representation av sådant som grafer: Kanske. "Pikografering?").


Låt oss avsluta med ett citat från det översta sökresultatet jag tycker behandlar det hela väldigt ofullständigt men ändå en variant av hundra tusentals man troligen kan hitta när man söker på detta spännande IT-land:


"Java stores Strings internally as an array of chars, which are 16 bit unsigned values. This was based on an earlier Unicode standard that supported 64K characters.

Your String constant "Côte d'Ivoire" is in this format. If your character encoding on your XML document is correct then the String read from there will also be in the correct format. So possible errors are:

The XML document doesn't declare a character encoding;

The declared character encoding does not match the actual character encoding used.

Perhaps the XML string is being treated as US-ASCII instead of UTF-8. I would output both and eyeball them. If they look the same, compare them character by character to see where teh comparison fails. You may also want to compare the UTF8 encoding of your constant String to what's in the XML document:

byte[] bytes = "Côte d'Ivoire".getBytes("UTF-8");
It gets more complicated when you start getting into "supplementary characters". These are characters beyond the originally intended 64K ("code points" in Unicode parlance). See Supplementary Characters in the Java Platform. This isn't an issue with any of the characters you're using but it's worth noting for completeness."

Från: Comparing utf-8 strings in java | Stackoverflow.com


Ett mer korrekt svar är att antingen har vi "smutsiga strängar", "smutsiga XML-dokument" m.m. i någon okynnes kodning i vilket fall man tar reda på vilken den är och ŕensar bort den eller behåller den, eller kodar den i något större mer omfattande. Det är som PDF-dokument: Vi tittar hur de kodat sina tecken och omvandlar det när vi förstår det till vår representation. Sådan information är angiven i filerna så det är bara att titta efter (lite p.s.s. som NTFS innehåller information om filernas förehållande, vilka rättigheter de har, hur gamla de är m.m. Bara att titta efter i din fil-hanterare så vet du).


Komplettering: Lite surt att Blogger.com verkar klara av en περισπώμενος ovan för o. Det är på så många sätt så fel när en plattform för att hjälpa oss att skriva för läsaren saboterar en enkel avslutande illustration av själva problemet. Egentligen borde man kopiera en några GB stor binär-fil för att hjälpa Blogger rätt här men det är ju också fel att jag ska sitta och vänta på det att bli klart innan man får ett fint felmeddelande att göra skärmdump av.


Låt Emacs AI lösa det

Emacs bör tror jag vara den mest omfattande och avancerade artificiella intelligensen i klassisk mening som finns tillgänglig åtminstone kostnadsfritt (troligen rörande vad som rör själva de normala användningsområdena som stränghantering m.m. den mest avancerade). Det går att hitta oerhört mycket man kan komma åt programmatiskt utan att ens behöva tvinga sig lära sig Lisp. Och vi har dessutom av och till en försvarlig mängd kunskap (i annan mening än diverse lisp-script) som ex. kodnings-varianter. Nedan "completions" på värden att sätta set-selection-coding-system. Notera varianterna för dos, unix och mac och betänk att normalt sätter det hela rätt kodning för också "utmanade" filer och brukar efter "omsparning" för sådana utmanade filer ge resultat fungerande naturligt mycket väl med Linux-miljö (dock unicode går av och till defunct i något när ny versioner kommer oavsett Linux eller annat: Nu sedan några år ska man dock ej längre behöva ha problem att lösa själv längre även om man kanske bättre försiktigt uppdaterar stödet om man har behov av stora delar av det väldigt välfungerande: En indirekt effekt av detta är att stora delar av vad som diskuteras rörande problem med unicode i Linux såväl som bl.a. Perl idag är helt defunct därför att de rör väldigt tids-lokaliserade problem).


Possible completions are:
adobe-standard-encoding  adobe-standard-encoding-dos
adobe-standard-encoding-mac  adobe-standard-encoding-unix
alternativnyj  alternativnyj-dos
alternativnyj-mac  alternativnyj-unix
big5  big5-dos
big5-hkscs  big5-hkscs-dos
big5-hkscs-mac  big5-hkscs-unix
big5-mac  big5-unix
binary  chinese-big5
chinese-big5-dos  chinese-big5-hkscs
chinese-big5-hkscs-dos  chinese-big5-hkscs-mac
chinese-big5-hkscs-unix  chinese-big5-mac
chinese-big5-unix  chinese-gb18030
chinese-gb18030-dos  chinese-gb18030-mac
chinese-gb18030-unix  chinese-gbk
chinese-gbk-dos  chinese-gbk-mac
chinese-gbk-unix  chinese-hz
chinese-hz-dos  chinese-hz-mac
chinese-hz-unix  chinese-iso-7bit
chinese-iso-7bit-dos  chinese-iso-7bit-mac
chinese-iso-7bit-unix  chinese-iso-8bit
chinese-iso-8bit-dos  chinese-iso-8bit-mac
chinese-iso-8bit-unix  cn-big5
cn-big5-dos  cn-big5-hkscs
cn-big5-hkscs-dos  cn-big5-hkscs-mac
cn-big5-hkscs-unix  cn-big5-mac
cn-big5-unix  cn-gb
cn-gb-2312  cn-gb-2312-dos
cn-gb-2312-mac  cn-gb-2312-unix
cn-gb-dos  cn-gb-mac
cn-gb-unix  compound-text
compound-text-dos  compound-text-mac
compound-text-unix  compound-text-with-extensions
compound-text-with-extensions-dos  compound-text-with-extensions-mac
compound-text-with-extensions-unix  cp1047
cp1047-dos  cp1047-mac
cp1047-unix  cp1125
cp1125-dos  cp1125-mac
cp1125-unix  cp1250
cp1250-dos  cp1250-mac
cp1250-unix  cp1251
cp1251-dos  cp1251-mac
cp1251-unix  cp1252
cp1252-dos  cp1252-mac
cp1252-unix  cp1253
cp1253-dos  cp1253-mac
cp1253-unix  cp1254
cp1254-dos  cp1254-mac
cp1254-unix  cp1255
cp1255-dos  cp1255-mac
cp1255-unix  cp1256
cp1256-dos  cp1256-mac
cp1256-unix  cp1257
cp1257-dos  cp1257-mac
cp1257-unix  cp1258
cp1258-dos  cp1258-mac
cp1258-unix  cp437
cp437-dos  cp437-mac
cp437-unix  cp737
cp737-dos  cp737-mac
cp737-unix  cp850
cp850-dos  cp850-mac
cp850-unix  cp851
cp851-dos  cp851-mac
cp851-unix  cp852
cp852-dos  cp852-mac
cp852-unix  cp855
cp855-dos  cp855-mac
cp855-unix  cp857
cp857-dos  cp857-mac
cp857-unix  cp858
cp858-dos  cp858-mac
cp858-unix  cp860
cp860-dos  cp860-mac
cp860-unix  cp861
cp861-dos  cp861-mac
cp861-unix  cp862
cp862-dos  cp862-mac
cp862-unix  cp863
cp863-dos  cp863-mac
cp863-unix  cp865
cp865-dos  cp865-mac
cp865-unix  cp866
cp866-dos  cp866-mac
cp866-unix  cp866u
cp866u-dos  cp866u-mac
cp866u-unix  cp869
cp869-dos  cp869-mac
cp869-unix  cp874
cp874-dos  cp874-mac
cp874-unix  cp878
cp878-dos  cp878-mac
cp878-unix  cp932
cp932-dos  cp932-mac
cp932-unix  cp936
cp936-dos  cp936-mac
cp936-unix  cp949
cp949-dos  cp949-mac
cp949-unix  cp950
cp950-dos  cp950-mac
cp950-unix  ctext
ctext-dos  ctext-mac
ctext-no-compositions  ctext-no-compositions-dos
ctext-no-compositions-mac  ctext-no-compositions-unix
ctext-unix  ctext-with-extensions
ctext-with-extensions-dos  ctext-with-extensions-mac
ctext-with-extensions-unix  cyrillic-alternativnyj
cyrillic-alternativnyj-dos  cyrillic-alternativnyj-mac
cyrillic-alternativnyj-unix  cyrillic-iso-8bit
cyrillic-iso-8bit-dos  cyrillic-iso-8bit-mac
cyrillic-iso-8bit-unix  cyrillic-koi8
cyrillic-koi8-dos  cyrillic-koi8-mac
cyrillic-koi8-unix  devanagari
devanagari-dos  devanagari-mac
devanagari-unix  dos
ebcdic-uk  ebcdic-uk-dos
ebcdic-uk-mac  ebcdic-uk-unix
ebcdic-us  ebcdic-us-dos
ebcdic-us-mac  ebcdic-us-unix
emacs-internal  emacs-mule
emacs-mule-dos  emacs-mule-mac
emacs-mule-unix  euc-china
euc-china-dos  euc-china-mac
euc-china-unix  euc-cn
euc-cn-dos  euc-cn-mac
euc-cn-unix  euc-japan
euc-japan-1990  euc-japan-1990-dos
euc-japan-1990-mac  euc-japan-1990-unix
euc-japan-dos  euc-japan-mac
euc-japan-unix  euc-jis-2004
euc-jis-2004-dos  euc-jis-2004-mac
euc-jis-2004-unix  euc-jisx0213
euc-jisx0213-dos  euc-jisx0213-mac
euc-jisx0213-unix  euc-jp
euc-jp-dos  euc-jp-mac
euc-jp-unix  euc-korea
euc-korea-dos  euc-korea-mac
euc-korea-unix  euc-kr
euc-kr-dos  euc-kr-mac
euc-kr-unix  euc-taiwan
euc-taiwan-dos  euc-taiwan-mac
euc-taiwan-unix  euc-tw
euc-tw-dos  euc-tw-mac
euc-tw-unix  eucjp-ms
eucjp-ms-dos  eucjp-ms-mac
eucjp-ms-unix  gb18030
gb18030-dos  gb18030-mac
gb18030-unix  gb2312
gb2312-dos  gb2312-mac
gb2312-unix  gbk
gbk-dos  gbk-mac
gbk-unix  georgian-academy
georgian-academy-dos  georgian-academy-mac
georgian-academy-unix  georgian-ps
georgian-ps-dos  georgian-ps-mac
georgian-ps-unix  greek-iso-8bit
greek-iso-8bit-dos  greek-iso-8bit-mac
greek-iso-8bit-unix  hebrew-iso-8bit
hebrew-iso-8bit-dos  hebrew-iso-8bit-mac
hebrew-iso-8bit-unix  hp-roman8
hp-roman8-dos  hp-roman8-mac
hp-roman8-unix  hz
hz-dos  hz-gb-2312
hz-gb-2312-dos  hz-gb-2312-mac
hz-gb-2312-unix  hz-mac
hz-unix  ibm1047
ibm1047-dos  ibm1047-mac
ibm1047-unix  ibm437
ibm437-dos  ibm437-mac
ibm437-unix  ibm850
ibm850-dos  ibm850-mac
ibm850-unix  ibm851
ibm851-dos  ibm851-mac
ibm851-unix  ibm852
ibm852-dos  ibm852-mac
ibm852-unix  ibm855
ibm855-dos  ibm855-mac
ibm855-unix  ibm857
ibm857-dos  ibm857-mac
ibm857-unix  ibm860
ibm860-dos  ibm860-mac
ibm860-unix  ibm861
ibm861-dos  ibm861-mac
ibm861-unix  ibm862
ibm862-dos  ibm862-mac
ibm862-unix  ibm863
ibm863-dos  ibm863-mac
ibm863-unix  ibm865
ibm865-dos  ibm865-mac
ibm865-unix  ibm869
ibm869-dos  ibm869-mac
ibm869-unix  ibm874
ibm874-dos  ibm874-mac
ibm874-unix  in-is13194-devanagari
in-is13194-devanagari-dos  in-is13194-devanagari-mac
in-is13194-devanagari-unix  iso-2022-7bit
iso-2022-7bit-dos  iso-2022-7bit-lock
iso-2022-7bit-lock-dos  iso-2022-7bit-lock-mac
iso-2022-7bit-lock-ss2  iso-2022-7bit-lock-ss2-dos
iso-2022-7bit-lock-ss2-mac  iso-2022-7bit-lock-ss2-unix
iso-2022-7bit-lock-unix  iso-2022-7bit-mac
iso-2022-7bit-ss2  iso-2022-7bit-ss2-dos
iso-2022-7bit-ss2-mac  iso-2022-7bit-ss2-unix
iso-2022-7bit-unix  iso-2022-8bit-ss2
iso-2022-8bit-ss2-dos  iso-2022-8bit-ss2-mac
iso-2022-8bit-ss2-unix  iso-2022-cjk
iso-2022-cjk-dos  iso-2022-cjk-mac
iso-2022-cjk-unix  iso-2022-cn
iso-2022-cn-dos  iso-2022-cn-ext
iso-2022-cn-ext-dos  iso-2022-cn-ext-mac
iso-2022-cn-ext-unix  iso-2022-cn-mac
iso-2022-cn-unix  iso-2022-int-1
iso-2022-int-1-dos  iso-2022-int-1-mac
iso-2022-int-1-unix  iso-2022-jp
iso-2022-jp-1978-irv  iso-2022-jp-1978-irv-dos
iso-2022-jp-1978-irv-mac  iso-2022-jp-1978-irv-unix
iso-2022-jp-2  iso-2022-jp-2-dos
iso-2022-jp-2-mac  iso-2022-jp-2-unix
iso-2022-jp-2004  iso-2022-jp-2004-dos
iso-2022-jp-2004-mac  iso-2022-jp-2004-unix
iso-2022-jp-3  iso-2022-jp-3-dos
iso-2022-jp-3-mac  iso-2022-jp-3-unix
iso-2022-jp-dos  iso-2022-jp-mac
iso-2022-jp-unix  iso-2022-kr
iso-2022-kr-dos  iso-2022-kr-mac
iso-2022-kr-unix  iso-8859-1
iso-8859-1-dos  iso-8859-1-mac
iso-8859-1-unix  iso-8859-10
iso-8859-10-dos  iso-8859-10-mac
iso-8859-10-unix  iso-8859-11
iso-8859-11-dos  iso-8859-11-mac
iso-8859-11-unix  iso-8859-13
iso-8859-13-dos  iso-8859-13-mac
iso-8859-13-unix  iso-8859-14
iso-8859-14-dos  iso-8859-14-mac
iso-8859-14-unix  iso-8859-15
iso-8859-15-dos  iso-8859-15-mac
iso-8859-15-unix  iso-8859-16
iso-8859-16-dos  iso-8859-16-mac
iso-8859-16-unix  iso-8859-2
iso-8859-2-dos  iso-8859-2-mac
iso-8859-2-unix  iso-8859-3
iso-8859-3-dos  iso-8859-3-mac
iso-8859-3-unix  iso-8859-4
iso-8859-4-dos  iso-8859-4-mac
iso-8859-4-unix  iso-8859-5
iso-8859-5-dos  iso-8859-5-mac
iso-8859-5-unix  iso-8859-6
iso-8859-6-dos  iso-8859-6-mac
iso-8859-6-unix  iso-8859-7
iso-8859-7-dos  iso-8859-7-mac
iso-8859-7-unix  iso-8859-8
iso-8859-8-dos  iso-8859-8-e
iso-8859-8-e-dos  iso-8859-8-e-mac
iso-8859-8-e-unix  iso-8859-8-i
iso-8859-8-i-dos  iso-8859-8-i-mac
iso-8859-8-i-unix  iso-8859-8-mac
iso-8859-8-unix  iso-8859-9
iso-8859-9-dos  iso-8859-9-mac
iso-8859-9-unix  iso-latin-1
iso-latin-1-dos  iso-latin-1-mac
iso-latin-1-unix  iso-latin-10
iso-latin-10-dos  iso-latin-10-mac
iso-latin-10-unix  iso-latin-2
iso-latin-2-dos  iso-latin-2-mac
iso-latin-2-unix  iso-latin-3
iso-latin-3-dos  iso-latin-3-mac
iso-latin-3-unix  iso-latin-4
iso-latin-4-dos  iso-latin-4-mac
iso-latin-4-unix  iso-latin-5
iso-latin-5-dos  iso-latin-5-mac
iso-latin-5-unix  iso-latin-6
iso-latin-6-dos  iso-latin-6-mac
iso-latin-6-unix  iso-latin-7
iso-latin-7-dos  iso-latin-7-mac
iso-latin-7-unix  iso-latin-8
iso-latin-8-dos  iso-latin-8-mac
iso-latin-8-unix  iso-latin-9
iso-latin-9-dos  iso-latin-9-mac
iso-latin-9-unix  iso-safe
iso-safe-dos  iso-safe-mac
iso-safe-unix  japanese-cp932
japanese-cp932-dos  japanese-cp932-mac
japanese-cp932-unix  japanese-iso-7bit-1978-irv
japanese-iso-7bit-1978-irv-dos  japanese-iso-7bit-1978-irv-mac
japanese-iso-7bit-1978-irv-unix  japanese-iso-8bit
japanese-iso-8bit-dos  japanese-iso-8bit-mac
japanese-iso-8bit-unix  japanese-shift-jis
japanese-shift-jis-2004  japanese-shift-jis-2004-dos
japanese-shift-jis-2004-mac  japanese-shift-jis-2004-unix
japanese-shift-jis-dos  japanese-shift-jis-mac
japanese-shift-jis-unix  junet
junet-dos  junet-mac
junet-unix  koi8
koi8-dos  koi8-mac
koi8-r  koi8-r-dos
koi8-r-mac  koi8-r-unix
koi8-t  koi8-t-dos
koi8-t-mac  koi8-t-unix
koi8-u  koi8-u-dos
koi8-u-mac  koi8-u-unix
koi8-unix  korean-cp949
korean-cp949-dos  korean-cp949-mac
korean-cp949-unix  korean-iso-7bit-lock
korean-iso-7bit-lock-dos  korean-iso-7bit-lock-mac
korean-iso-7bit-lock-unix  korean-iso-8bit
korean-iso-8bit-dos  korean-iso-8bit-mac
korean-iso-8bit-unix  lao
lao-dos  lao-mac
lao-unix  latin-0
latin-0-dos  latin-0-mac
latin-0-unix  latin-1
latin-1-dos  latin-1-mac
latin-1-unix  latin-10
latin-10-dos  latin-10-mac
latin-10-unix  latin-2
latin-2-dos  latin-2-mac
latin-2-unix  latin-3
latin-3-dos  latin-3-mac
latin-3-unix  latin-4
latin-4-dos  latin-4-mac
latin-4-unix  latin-5
latin-5-dos  latin-5-mac
latin-5-unix  latin-6
latin-6-dos  latin-6-mac
latin-6-unix  latin-7
latin-7-dos  latin-7-mac
latin-7-unix  latin-8
latin-8-dos  latin-8-mac
latin-8-unix  latin-9
latin-9-dos  latin-9-mac
latin-9-unix  mac
mac-roman  mac-roman-dos
mac-roman-mac  mac-roman-unix
mik  mik-dos
mik-mac  mik-unix
mule-utf-8  mule-utf-8-dos
mule-utf-8-mac  mule-utf-8-unix
next  next-dos
next-mac  next-unix
no-conversion  no-conversion-multibyte
old-jis  old-jis-dos
old-jis-mac  old-jis-unix
pt154  pt154-dos
pt154-mac  pt154-unix
raw-text  raw-text-dos
raw-text-mac  raw-text-unix
roman8  roman8-dos
roman8-mac  roman8-unix
ruscii  ruscii-dos
ruscii-mac  ruscii-unix
shift_jis  shift_jis-2004
shift_jis-2004-dos  shift_jis-2004-mac
shift_jis-2004-unix  shift_jis-dos
shift_jis-mac  shift_jis-unix
sjis  sjis-dos
sjis-mac  sjis-unix
tcvn  tcvn-5712
tcvn-5712-dos  tcvn-5712-mac
tcvn-5712-unix  tcvn-dos
tcvn-mac  tcvn-unix
th-tis620  th-tis620-dos
th-tis620-mac  th-tis620-unix
thai-tis620  thai-tis620-dos
thai-tis620-mac  thai-tis620-unix
tibetan  tibetan-dos
tibetan-iso-8bit  tibetan-iso-8bit-dos
tibetan-iso-8bit-mac  tibetan-iso-8bit-unix
tibetan-mac  tibetan-unix
tis-620  tis-620-dos
tis-620-mac  tis-620-unix
tis620  tis620-dos
tis620-mac  tis620-unix
undecided  undecided-dos
undecided-mac  undecided-unix
unix  us-ascii
us-ascii-dos  us-ascii-mac
us-ascii-unix  utf-16
utf-16-be  utf-16-be-dos
utf-16-be-mac  utf-16-be-unix
utf-16-dos  utf-16-le
utf-16-le-dos  utf-16-le-mac
utf-16-le-unix  utf-16-mac
utf-16-unix  utf-16be
utf-16be-dos  utf-16be-mac
utf-16be-unix  utf-16be-with-signature
utf-16be-with-signature-dos  utf-16be-with-signature-mac
utf-16be-with-signature-unix  utf-16le
utf-16le-dos  utf-16le-mac
utf-16le-unix  utf-16le-with-signature
utf-16le-with-signature-dos  utf-16le-with-signature-mac
utf-16le-with-signature-unix  utf-7
utf-7-dos  utf-7-imap
utf-7-imap-dos  utf-7-imap-mac
utf-7-imap-unix  utf-7-mac
utf-7-unix  utf-8
utf-8-auto  utf-8-auto-dos
utf-8-auto-mac  utf-8-auto-unix
utf-8-dos  utf-8-emacs
utf-8-emacs-dos  utf-8-emacs-mac
utf-8-emacs-unix  utf-8-mac
utf-8-unix  utf-8-with-signature
utf-8-with-signature-dos  utf-8-with-signature-mac
utf-8-with-signature-unix  vietnamese-tcvn
vietnamese-tcvn-dos  vietnamese-tcvn-mac
vietnamese-tcvn-unix  vietnamese-viqr
vietnamese-viqr-dos  vietnamese-viqr-mac
vietnamese-viqr-unix  vietnamese-viscii
vietnamese-viscii-dos  vietnamese-viscii-mac
vietnamese-viscii-unix  vietnamese-vscii
vietnamese-vscii-dos  vietnamese-vscii-mac
vietnamese-vscii-unix  viqr
viqr-dos  viqr-mac
viqr-unix  viscii
viscii-dos  viscii-mac
viscii-unix  vscii
vscii-dos  vscii-mac
vscii-unix  windows-1250
windows-1250-dos  windows-1250-mac
windows-1250-unix  windows-1251
windows-1251-dos  windows-1251-mac
windows-1251-unix  windows-1252
windows-1252-dos  windows-1252-mac
windows-1252-unix  windows-1253
windows-1253-dos  windows-1253-mac
windows-1253-unix  windows-1254
windows-1254-dos  windows-1254-mac
windows-1254-unix  windows-1255
windows-1255-dos  windows-1255-mac
windows-1255-unix  windows-1256
windows-1256-dos  windows-1256-mac
windows-1256-unix  windows-1257
windows-1257-dos  windows-1257-mac
windows-1257-unix  windows-1258
windows-1258-dos  windows-1258-mac
windows-1258-unix  windows-936
windows-936-dos  windows-936-mac
windows-936-unix  x-ctext
x-ctext-dos  x-ctext-mac
x-ctext-unix  x-ctext-with-extensions
x-ctext-with-extensions-dos  x-ctext-with-extensions-mac
x-ctext-with-extensions-unix