WordPress: problém s diakritikou

Takže som absolvoval “famous 5-minute install” blogovacieho nástroja WordPress a hneď som skúsil napísať úvodný príspevok. Po uložení ma čakalo malé nemilé prekvapenie – problém s diakritikou. WordPress si nevedel poradiť s písmenom ‘ň’ a namiesto neho ukladal do databázy znaky ‘??’. Podobný problém s niektorými ďalšími znakmi.

Keďže v tejto situácii nebolo možné do blogu písať ďalšie príspevky, začal som hľadať riešenie. Po chvíľke hľadania po Internete som našiel príspevok na technickom fóre pre pipni.cz, kde používateľ um riešil podobný problém. Ukázalo sa, že daný problém nie je ani tak na strane WordPressu ako na strane MySQL. Riešenie je jednoduché. Do súboru wp-includes/wp-db.php bolo treba za riadok
$this->select($dbname);
doplniť nasledujúce tri riadky:
mysql_query("SET character_set_results=UTF8");
mysql_query("SET character_set_connection=UTF8");
mysql_query("SET character_set_client=UTF8");

Popularity: 10% [?]

4 comments so far

  1. Unambiguous November 22, 2007 19:19

    Po ugrade WordPressu na verziu 2.3 mi opäť rozbilo diakritiku. Horeuvedené riešenie zabralo, ale tentokrát som namiesto 3 riadkov pridal iba
    mysql_query(“SET NAMES ‘UTF8′”);

  2. Miso January 1, 2008 20:08

    Zdravim, Updatoval som na WP 2.3.2

    Totalne mi zblbla diakritika a niektore znaky sa stali otaznikmi. Skusal som za riadok
    $this->select($dbname);

    vlozit

    mysql_query(“SET NAMES ‘UTF8′”);

    ale nepomohlo. Nemas iny tip? dakujem a PF a tak :)

  3. Unambiguous January 1, 2008 20:27

    Nemáš náhodou na databáze nastavené iné kódovanie ako UTF-8?
    Mohlo by pomôcť, keby si použil tie 3 príkazy uvedené v príspevku som správnym kódovaním – prehľad MySQL kódovaní.

  4. Feri Macfričkins January 30, 2008 19:12

    Bavil som sa s tým celkom dlho a nakoniec sa to podarilo
    pridal som si to tvoje do wp-db.php
    potom aj do wp-config.php, ktory je v rootovskom priecinku – upravil som ho takto

    define(‘DB_CHARSET’, ‘UTF-8′);
    define(‘DB_COLLATE’, ‘UTF-8′);

    u mna to vyzeralo akokeby bol problem v pomlcke medzi UTF a 8

    no po ulozeni, mi to rozhodilo vsetku diakritiku v postoch, ale po opetovnej uprave, to uz bezalo v poriadku.

Leave a comment

Please be polite and on topic. Your e-mail will never be published.