Migravimas į utf-8
UTF-8 (8-bit Unicode Transformation Format) – viena kintamo ilgio simbolių koduočių, kuria galima užrašyti bet kokį Unicode simbolį bei lieka ir pilnas suderinamumas su 7 bitų ASCII koduote, pritaikyta anglų kalbos abėcėlei.
UTF-8 dažnai naudojama internete, kur dėl istorinių suderinamumo priežasčių ar dėl taupumo ne visada galima pereiti prie USC-16 koduotės.
MySql[keisti]
MySql Duomenų bazių konvertavimas į utf-8. Pirmiausiai reiktų surašyti MySql duomenų bazę į failą bei pasidaryti atsarginę kopiją
mysqldump --opt -u vartotojas -p duomenubaze > duomenubaze.sql
Sukurtas failas duomenubaze.sql su viduje esančia visa duomenų bazės struktūra bei nuomenimis, jį reikia perkonvertuoti į utf-8, tam reikia, kad sistemoje veiktų Iconv (iso-8859-1 - tai esama koduotė iš kurios norite kovertuoti į utf-8)
iconv -f iso-8859-1 -t utf-8 duomenubaze.sql > duomenubaze_utf-8.sql
Dabar mes turime duomenų bazę duomenubaze_utf-8.sql kuri yra koduota utf-8 standartu ir galime ją įgrūsti atgal į MySql
mysql -u vartotojas -p duomenubaze < duomenubaze_utf-8.sql
Štai ir viskas! Dabar jūs turite utf-8 suderintą duomenų bazę.
Failai[keisti]
Konvertuoti failus į utf-8 koduotę yra taip pat paprasta pasinaudojant Iconv.
iconv -f iso-8859-1 -t utf-8 failas.txt > failas_utf8.txt
Štai ir viskas! Tokiu būdu taip pat galite konvertuoti įvairius html, php puslapius bei kitokius scriptus. Žemiau aprašytas scriptukas supaprastina darbus
#!/bin/sh iso="iso-8859-13" echo "Converting $1 from $iso to utf-8" iconv -f $iso -t utf-8 $1 > $1new && mv $1new $1
Išsaugokite jį kaip /usr/local/bin/toutf duokite teisę pasileisti chmod +x /usr/local/bin/toutf ir galite duoti jam komanda pvz
toutf failas.txt
Failas bus automatiškai pervadintas, perkonvertuotas ir vėl atgal pervadintas. Iso kintamasis skirtas užrašyti koduote iš kurios norite konvertuoti failą į utf-8 koduotę.
html/php[keisti]
Norint, kad jūsų html/htm puslapiai puikiai rodytų utf-8 reikia pridėti meta tagą
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Taip pat yra ir php išeitis naudojant header
header("Content-Type: text/html; charset=utf-8")