Eredmény: 1 - 7 (7) összesen

Téma: Wordpress plugin karakterkódolási hiba

  1. #1
    Képszerkesztő Csurga logója
    Csatlakozott
    10-10-17
    Hely
    Hmvhely
    Hozzászólás
    1.101
    Begyűjtött 317 köszönetet
    206 hozzászólásával

    Kérdés Wordpress plugin karakterkódolási hiba

    Sziasztok!

    Olyan gondom lenne, hogy van egy plugin, a neve PdAlex Glossary.
    Ez ilyen szószedet plugin, lehet bele bejegyezni, és azt kilistázza egy oldalon.

    A gond ott van, hogy 1 karaktert nem tud megjeleníteni, helyére egy kérdőjelet pakol. Ez a karakter a hosszú "ő".

    A plugin sima egyszerű UTF-8 kódolást használ, és a karakterkészletben is természetesen benne van az "ő" betű, innentől kezdve nem nagyon tudom mit kéne tegyek.

    A plugint egyébként egy orosz srác csinálta és utólag lett lefordítva angol nyelvre.

    Belinkelem a functions-t amit használ:


    PHP kód:
    function pdalex_lang_detect ($string) {

        
    $string mb_strtolower($string'UTF-8');

         
    $_langs = array(
               
    'en'=>array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'),
               
    'ru'=>array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'),
               );
        
        foreach (
    $_langs as $lang_code=>$lang_name)
         {
               
    $lang_res[$lang_code] = 0//по умолчанию 0, то есть не этот язык
        
               
    $tmp_freq 0// частота символов текущего языка
               
    $full_lang_symbols 0//полное количество символов этого языка

                  
    $cur_lang $_langs[$lang_code];
               
               foreach (
    $cur_lang as $l_item)
                   {
                
    $tmp_term mb_substr_count($string$l_item);
                    if (
    $tmp_term >= 1// то есть символ в строе 1 или более раз
                     
    {
                       
    $tmp_freq++; // увеличим счетчик символов языка, которые в этой строке есть
                       
    $full_lang_symbols += $tmp_term;
                     }
                }

                 
    $lang_res[$lang_code] = ceil((100 count($cur_lang) ) * $tmp_freq);       

             }
         
    // так, теперь посомтрим что вышло
             
    arsort($lang_resSORT_NUMERIC); //сортируем массив первый элемент язык с большей вероятностью

             
    $key key($lang_res);
             
             return 
    $key;

         

    Arra gondoltam, hogy csinálok úgyis a magyar nyelvhez egy

    PHP kód:
    'hu'=>array(a,á,b,c,...) 
    karakterkészletet, hiszen szerintem akkor lesz normális az egész, de ez önmagában nem fogja megoldani a problémámat.

    Ha valaki találkozott már hasonló problémával kérem írjon!

    Köszönöm!


    Utoljára módosítva: Csurga által : 2011-01-22 20:38

  2. #2
    kgc
    kgc nem elérhető
    kgc for president kgc logója
    Csatlakozott
    07-05-01
    Hely
    Ouagadougou...
    Hozzászólás
    2.597
    Begyűjtött 32 köszönetet
    9 hozzászólásával

    Alapbeállítás re: Wordpress plugin karakterkódolási hiba

    Próbálj ascii karaktert használni és szerintem menni fog.

    PHP kód:
    'en'=>array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','ő','p','q','r','s','t','u','v','w','x','y','z'), 
    Frissítés: Próbáltam fentebb az ő helyére egy ascii-t betenni neked de a kommentform átalakította.

    Az ascii.hu-n megtalálod a kódját, a fenti ő betűt helyettesítsd be vele oszt jónapot.


    Utoljára módosítva: kgc által : 2011-01-22 20:43 Oka: Frissítés

  3. #3
    WordPress Maniac mahone logója
    Csatlakozott
    08-08-22
    Hely
    Budapest
    Hozzászólás
    4.609
    Begyűjtött 248 köszönetet
    169 hozzászólásával

    Alapbeállítás re: Wordpress plugin karakterkódolási hiba

    Egyszer egy Ügyfélemnek volt vmi Glossary nevű pluginje, nem tudom, hogy az első neve az volt-e, mint a tiédnek, de a probléma ugyanez volt.

    Én úgy oldottam meg, hogy a glossary által létrehozott mysql tábla karakterkódolását átállítottam a többivel megegyezőre, és utána a beviteli formon beküldött ékezetes karakterek is jól működtek.



  4. #4
    Képszerkesztő Csurga logója
    Csatlakozott
    10-10-17
    Hely
    Hmvhely
    Hozzászólás
    1.101
    Begyűjtött 317 köszönetet
    206 hozzászólásával

    Alapbeállítás re: Wordpress plugin karakterkódolási hiba

    Hű köszönöm a gyors válaszokat, legelészek rajta még egy keveset, aztán majd jelzem az eredményét holnap!



  5. #5
    Képszerkesztő Csurga logója
    Csatlakozott
    10-10-17
    Hely
    Hmvhely
    Hozzászólás
    1.101
    Begyűjtött 317 köszönetet
    206 hozzászólásával

    Alapbeállítás re: Wordpress plugin karakterkódolási hiba

    adatbázis1: adatbazis1 latin1_swedish_ci
    adatbázis2: information_schema utf8_general_ci
    Össz: 2 latin1_swedish_ci

    Valóban eltér a kettő adatbázis, nekem most phpmyadmin4 van a szerómon, nem nagyon értek hozzá, de van olyan lehetőség hogy adatbázisok egybevetése.
    Holnap kipróbálom, aztán tudósítok.



  6. #6
    Képszerkesztő Csurga logója
    Csatlakozott
    10-10-17
    Hely
    Hmvhely
    Hozzászólás
    1.101
    Begyűjtött 317 köszönetet
    206 hozzászólásával

    Alapbeállítás re: Wordpress plugin karakterkódolási hiba

    Na sziasztok!

    Az adatbázisokkal nem jutottam sokra, tehát marad kgc megoldása.



  7. #7
    Képszerkesztő Csurga logója
    Csatlakozott
    10-10-17
    Hely
    Hmvhely
    Hozzászólás
    1.101
    Begyűjtött 317 köszönetet
    206 hozzászólásával

    Alapbeállítás re: Wordpress plugin karakterkódolási hiba

    Megvan a megoldás, nekem laikusnak nem kis munka volt:

    - megkerestem a php-fájlban a tábla létrehozásának a nevét, ez a "wp_1gloss".
    - aztán át kellett szerkeszteni a termin (cím) és a dess (tartalom) mezőket, mivel a hozzáadott charset latin1_swedish_ci volt. Magyarra raktam mind a kettőt, tehát Egybevetés latin2_hungarian_ci.

    És jó is lett...

    Ja és akinek kellene:

    PHP kód:
    $_langs = array(
               
    'en'=>array('a','á','b','c','d','e','é','f','g','gy','h','i','í','j','k','l','m','n','ny','o','ó','ö','ő','p','q','r','s','t','ty','u','ú','ü','ű','v','w','x','y','z','zs'), 




A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •