Otu esi atụgharị faịlụ na ntinye koodu UTF-8 na Linux
N'ime ntuziaka a, anyị ga-akọwa ihe ngbanwe agwa ma kpuchie ihe atụ ole na ole nke ịtụgharị faịlụ site na otu agwa na-edobe ọzọ site na iji ngwa ahịrị iwu. N'ikpeazụ, anyị ga-eleba anya ka esi gbanwee ọtụtụ faịlụ site na njirimara agwa ọ bụla (charset) ka ọ bụrụ UTF-8 na-edobe na Linux.
Dịka ị nwere ike buru n'uche ugbua, kọmpụta anaghị aghọta ma ọ bụ chekwaa mkpụrụedemede, ọnụọgụ ma ọ bụ ihe ọ bụla ọzọ anyị dịka mmadụ nwere ike ịhụ ma ewezuga ibe n'ibe. Obere nwere naanị ụkpụrụ abụọ enwere ike, ya bụ 0
ma ọ bụ 1
, ezi
ma ọ bụ ụgha
, > ee
ma ọ bụ ee e
. Ihe ọ bụla ọzọ dị ka mkpụrụedemede, ọnụọgụgụ, onyonyo ga-anọchirịrị na ibe n'ibe ka kọmputa wee hazie ya.
N'okwu dị mfe, ngbanwe agwa bụ ụzọ isi mee ka kọmpụta mara otu esi akọwa mkpụrụ efu na nke ahụ ka ọ bụrụ mkpụrụedemede n'ezie, ebe ọnụọgụ nọmba nọchiri anya agwa. Mgbe anyị na-apịnye ederede n'ime faịlụ, a na-esi n'ụdị mkpụrụedemede dị iche iche sie mkpụrụokwu na ahịrịokwu ndị anyị depụtara, a na-ahazikwa mkpụrụedemede ka ha bụrụ charset.
Enwere atụmatụ nzuzo dị iche iche dị ka ASCII, ANSI, Unicode na ndị ọzọ. N'okpuru bụ ọmụmaatụ nke koodu ntinye ASCII.
Character bits A 01000001 B 01000010
Na Linux, a na-eji ngwá ọrụ ahịrị iwu iconv iji tụgharịa ederede site n'otu ụdị ngbanwe gaa na nke ọzọ.
Ị nwere ike ịlele ngbanwe nke faịlụ site na iji iwu faịlụ, site na iji -i
ma ọ bụ --mime
ọkọlọtọ nke na-enyere aka ibipụta ụdị mime dị ka ọ dị na atụ n'okpuru:
$ file -i Car.java $ file -i CarDriver.java
Okwu syntax maka iji iconv bụ nke a:
$ iconv option $ iconv options -f from-encoding -t to-encoding inputfile(s) -o outputfile
Ebe -f
ma ọ bụ --from-koodu
pụtara ntinye ntinye na -t
ma ọ bụ --na-encoding
ezipụta. ntinye koodu mmepụta.
Ka ịdepụta usoro mkpụrụedemede niile amaara ama, mee iwu n'okpuru:
$ iconv -l
Tugharia faịlụ site na UTF-8 ka ọ bụrụ ASCII ngbanwe
Ọzọ, anyị ga-amụta otu esi agbanwe site n'otu atụmatụ ngbanwe gaa na nke ọzọ. Iwu dị n'okpuru na-atụgharị site na ISO-8859-1 gaa na ntinye koodu UTF-8.
Tụlee otu faịlụ aha ya bụ input.file
nke nwere mkpụrụedemede:
� � � �
Ka anyị bido site na ịlele ngbanwe nke mkpụrụedemede dị na faịlụ ahụ wee lelee ọdịnaya nke faịlụ ahụ. Na nso nso, anyị nwere ike ịtụgharị mkpụrụedemede niile ka ọ bụrụ koodu ASCII.
Mgbe ịmechara iwu iconv, anyị na-elele ọdịnaya nke faịlụ mmepụta yana ntinye koodu ọhụrụ nke mkpụrụedemede dị n'okpuru.
$ file -i input.file $ cat input.file $ iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.file -o out.file $ cat out.file $ file -i out.file
Cheta na: Ọ bụrụ na agbakwunyere eriri //IGNORE
na ntinye koodu, mkpụrụedemede enweghị ike ịtụgharị yana mperi ga-egosipụta mgbe ngbanwechara.
Ọzọ, na-eche na agbakwunyere eriri //TRANSLIT
na ntinye koodu dị ka ọmụmaatụ n'elu (ASCII//TRANSLIT), mkpụrụedemede ndị a na-atụgharị na-atụgharị ka ọ dị mkpa ma ọ bụrụ na ọ ga-ekwe omume. Nke na-egosi na ọ bụrụ na enweghị ike ịnọchite anya agwa n'ime njirimara ebumnuche, enwere ike iji otu mkpụrụedemede ma ọ bụ karịa yiri ya.
N'ihi ya, agwa ọ bụla nke enweghị ike ịtụgharị asụsụ na ọ bụghị na ntọala ebumnuche ka a ga-eji akara ajụjụ (?)
n'ime mmepụta dochie ya.
Tụgharịa ọtụtụ faịlụ ka ọ bụrụ UTF-8 ngbanwe
Na-alaghachi na isi isiokwu anyị, iji gbanwee ọtụtụ faịlụ ma ọ bụ niile dị na ndekọ gaa na ntinye koodu UTF-8, ị nwere ike dee obere edemede shei a na-akpọ encoding.sh dị ka ndị a:
#!/bin/bash #enter input encoding here FROM_ENCODING="value_here" #output encoding(UTF-8) TO_ENCODING="UTF-8" #convert CONVERT=" iconv -f $FROM_ENCODING -t $TO_ENCODING" #loop to convert multiple files for file in *.txt; do $CONVERT "$file" -o "${file%.txt}.utf8.converted" done exit 0
Chekwaa faịlụ ahụ, wee mee ka edemede ahụ rụọ ọrụ. Gbaa ya na ndekọ ebe faịlụ gị (*.txt
) dị.
$ chmod +x encoding.sh $ ./encoding.sh
Ihe dị mkpa: Ị nwekwara ike iji edemede a maka ntụgharị n'ozuzu nke ọtụtụ faịlụ site na nke e nyere ngbanwe gaa na nke ọzọ, jiri naanị ụkpụrụ FROM_ENCODING
na TO_ENCODING
agbanwe, ọ bụghị na-echefu aha faịlụ mmepụta \& #36 {file%.txt}.utf8.converted\
.
Maka ozi ndị ọzọ, lee anya na ibe iconv man.
$ man iconv
N'ịchịkọta ntuziaka a, ịghọta ngbanwe na otu esi agbanwe site n'otu atụmatụ ngbanwe mkpụrụedemede gaa na nke ọzọ bụ ihe ọmụma dị mkpa maka ndị ọrụ kọmputa ọ bụla karịa maka ndị mmemme ma a bịa n'ihe gbasara ederede.
N'ikpeazụ, ị nwere ike ịkpọtụrụ anyị site na iji ngalaba nkọwa n'okpuru maka ajụjụ ma ọ bụ nzaghachi ọ bụla.