[LUGOS] mysql latin swedish in utf_8 slovenian

Filip Komar filip.komar at gmail.com
Tue May 14 20:32:23 CEST 2013


Živjo, Grega.

2013/5/13 Grega Leskovšek <legrega na gmail.com>

> Ne vem zakaj mi vedno nastavi švedsko kodiranje, kako najlažje pretvorim v
> utf-8 celo bazo, mysql in phpmyadmin 4.
>

Najprej naj priporočim odlična vodiča, ki sta meni največ pomagala pri
rešitvi iste zagate:
http://www.trsplet.si/blog/2008/03/21/sumniki-utf-8-tezave-php-mysql/
http://www.trsplet.si/blog/2008/03/03/utf-8-tabele-vendar-latin1-podatki-ter-povezava/

Verjetno misliš "švedsko kodiranje" v bazi. To je pač privzeto za mysql,
ker ima tam korenine. Priporočam, da v phpmyadmin izbereš razvrščanje
znakov (collation): utf8_slovenian_ci za bazo (na osnovni strani) in za vse
tabele (na pripadajoči strani). Po moje je najlažje pretvoriti z izvažanjem
v trenutnem naboru, nato preveriti nabor v kakem dobrem urejevalniku (npr.
Notepad++ za Win ali Kate za linux) ter nazadnje uvoziti v tabelo, ki ima
že pravo razvrščanje. Za test lahko preveriš v neki testni bazi.


Mimogrede: opazil sem vsakič znova ponovljene vrstice za menjavo šumnikov
in drugih "naših" črk, ki uporablja preg_replace za vsak znak posebej v
vsaki skripti posebej.
Za svoje potrebe sem naredil enostavno funkcijo in jo dodal z include, ki
gre takole:
function degradiraj_sumnike_in_druge_redke_znake($niz_za_obdelavo) {
    $znaki_za_zamenjavo = array('ć', 'č', 'đ', 'š', 'ž', 'Ć', 'Č', 'Đ',
'Š', 'Ž', ' ', '(', ')', ',', ';', ':', '-', '"', '.');
    $zamenjani_znaki = array('c', 'c', 'd', 's', 'z', 'C', 'C', 'D', 'S',
'Z', '_');
    $niz_brez_sumnikov = str_replace($znaki_za_zamenjavo, $zamenjani_znaki,
$niz_za_obdelavo);
    return $niz_brez_sumnikov;
}

Meni deluje.

Toliko z moje strani. Srečno,
Filip.
-------------- naslednji del --------------
HTML priponka je pre�i��ena...
URL: http://liste2.lugos.si/pipermail/lugos-list/attachments/20130514/1c637c35/attachment.htm 


More information about the lugos-list mailing list