SMO Ajax Shoutbox
Wyniki 1 do 10 z 15

Temat: SMO Ajax Shoutbox

Hybrid View

Poprzednia wiadomość Poprzednia wiadomość   Następna wiadomość Następna wiadomość
  1. #1
    Debiutant
    Dołączył
    10-12-2005
    Wpisy
    2
    Punkty
    10

    Domyślny SMO Ajax Shoutbox

    mam pewnien problem z tym shoutboxem, a mianowicie w configuracji mam do wyboru tylko dwa rodzaje kodowania iso-8859-1 oraz utf-8, a swoja strone mam pod iso-8859-2 - no i jak się pewnie nie jeden domyśli nie wyświetlają się znaczki z polskimi ogonkami

    czy ma ktoś może jakiś pomysł jak to naprawić ?, oczywiście bez potrzeby zmiany kodowania na utf-8

  2. #2
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    Spróbuj przekonwertować moduł.
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  3. #3
    Debiutant
    Dołączył
    10-12-2005
    Wpisy
    2
    Punkty
    10

    Domyślny

    czy chodzi k przekonwertowanie plików .php modułu na kodowanie iso-8859-2 ??

    prubowałem na sztywno zmienić w plikach modułu i komponentu wszystkie linie gdzie znalazłem wzmianke o iso-8859-1 i utf-8 na iso-8859-2 to tez nic nie mi nie pomogło :mad:

    i jeszcze zauwarzyłem dziwną rzecz - kiedy wpisze do shoutboxa np. ś ł ć, to po przesłaniu moduł wyświetla je poprawnie , jednak już po odświerzeniu strony wszystkie ś ł ć itp. zmieniają się na dziwne krzaczki

  4. #4
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    Sama zmiana wpisów oczywiście nie wystarczy, trzeba jeszcze zapisac w wybranym kodowaniu skrypty z polskimi tekstami.
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  5. #5
    Nowicjusz
    Dołączył
    10-12-2005
    Wpisy
    15
    Punkty
    10

    Domyślny shoutbox c.d.

    A jak wgrac takie skrypty?
    Dzięki

  6. #6
    Przeglądacz
    Dołączył
    15-02-2006
    Wpisy
    32
    Punkty
    15

    Domyślny

    znalazłem rozwiązanie jeśli by ktoś potrzebował jeszcze... moduł jest bardzo fajny dlatego trochę się zawziąłem ale powiodło się

    Oczywiście najpierw gdzie się da w plikach modułu zmieniamy kodowanie z 8859-1 na 8859-2, nie musimy natomiast ich konwertować w żaden sposób (?)

    w pliku mod_smo_ajax_shoutbox.php jest użyta funkcja utf8_decode, która działa tylko w odniesieniu do iso-8859-1. W komentarzach pod opisem tej funkcji (http://pl.php.net/utf8_decode) jest prawie gotowe rozwiązanie, wystarczy zmienić nieco wyżej wymieniony plik modules/mod_smo_ajax_shoutbox.php

    PRZED następującymi liniami:

    Kod:
    // Why doesn't htmlentities() figure this one out? who knows
    function jal_special_chars ($s) {
    Wstawimy poniższy kod - nową funkcję, ale UWAGA

    UWAGA - musicie pousuwać spacje po znakach & i # - musiałem je dodać żeby forum nie wzięło tych ciągów jako encje i nie zamieniło ich na znaczki polskie

    zatem wklejamy

    Kod:
    function utf82iso88592($tekscik) {
         $tekscik = str_replace("\xC4\x85", '& # 261;', $tekscik);
         $tekscik = str_replace("\xC4\x84", '& # 260;', $tekscik);
         $tekscik = str_replace("\xC4\x87", '& # 263;', $tekscik);
         $tekscik = str_replace("\xC4\x86", '& # 262;', $tekscik);
         $tekscik = str_replace("\xC4\x99", '& # 281;', $tekscik);
         $tekscik = str_replace("\xC4\x98", '& # 280;', $tekscik);
         $tekscik = str_replace("\xC5\x82", '& # 322;', $tekscik);
         $tekscik = str_replace("\xC5\x81", '& # 321;', $tekscik);
         $tekscik = str_replace("\xC5\x84", '& # 324;', $tekscik);   
         $tekscik = str_replace("\xC5\x83", '& # 323;', $tekscik);
         $tekscik = str_replace("\xC3\xB3", '& # 243;', $tekscik);
         $tekscik = str_replace("\xC3\x93", '& # 211;', $tekscik);
         $tekscik = str_replace("\xC5\x9B", '& # 347;', $tekscik);
         $tekscik = str_replace("\xC5\x9A", '& # 346;', $tekscik);
         $tekscik = str_replace("\xC5\xBC", '& # 380;', $tekscik);
         $tekscik = str_replace("\xC5\xBB", '& # 379;', $tekscik);
         $tekscik = str_replace("\xC5\xBA", '& # 378;', $tekscik);
         $tekscik = str_replace("\xC5\xB9", '& # 377;', $tekscik);
         return $tekscik;
    } // utf82iso88592
    pamiętacie o usunięciu spacji? no!


    No a teraz jeszcze zamieniamy taką linię (kilka linijek niżej):
    Kod:
           $s = utf8_decode ( $s );
    na taką:

    Kod:
        $s = utf82iso88592 ( $s );
    wrzucamy plik na serwer, odświeżamy i sprawdzamy czy wpisane znaczki będą już się pojawiać. Poprzednie błędne wpisy trzeba będzie niestety skasować

    na dowód że nie ściemniam - na stronie shadowrun-polska właśnie skończyłem instalację modułu (lewa kolumna, pod forum)

    Pozdrówki
    Ostanio edytowane przez palik : 01-03-2006 23:39

  7. #7
    Debiutant
    Dołączył
    17-12-2006
    Wpisy
    4
    Punkty
    10

    Domyślny

    Rzeczywiście działa wielkie dzięki

  8. #8
    Debiutant
    Dołączył
    21-06-2007
    Wpisy
    7
    Punkty
    10

    Domyślny

    Nie ma ściemy, właśnie zrobiłem zmiany w omawianym pliku i tylko w nim. Wszystko gra na 102. Dzięki serdeczne @palik, jesteś wielki, a już dezinstalowałem shoutboxa.

  9. #9
    Przeglądacz
    Dołączył
    17-05-2007
    Wpisy
    36
    Punkty
    10

    Domyślny

    Posiadam podobny problem ale mam kodowanie UTF zmieniłem tak jak tu pisze ale po odświeżeniu strony dalej dzieje się to samo. Czy tam na pewno ma być tekścik?
    //disconnecting from mysql like usual
    mysql_close($conn);
    }
    function utf82iso88591($tekscik) {
    $tekscik = str_replace("\xC4\x85", '& #261;', $tekscik);
    $tekscik = str_replace("\xC4\x84", 'Ą', $tekscik);
    $tekscik = str_replace("\xC4\x87", 'ć', $tekscik);
    $tekscik = str_replace("\xC4\x86", 'Ć', $tekscik);
    $tekscik = str_replace("\xC4\x99", 'ę', $tekscik);
    $tekscik = str_replace("\xC4\x98", 'Ę', $tekscik);
    $tekscik = str_replace("\xC5\x82", 'ł', $tekscik);
    $tekscik = str_replace("\xC5\x81", 'Ł', $tekscik);
    $tekscik = str_replace("\xC5\x84", 'ń', $tekscik);
    $tekscik = str_replace("\xC5\x83", 'Ń', $tekscik);
    $tekscik = str_replace("\xC3\xB3", 'ó', $tekscik);
    $tekscik = str_replace("\xC3\x93", 'Ó', $tekscik);
    $tekscik = str_replace("\xC5\x9B", 'ś', $tekscik);
    $tekscik = str_replace("\xC5\x9A", 'Ś', $tekscik);
    $tekscik = str_replace("\xC5\xBC", 'ż', $tekscik);
    $tekscik = str_replace("\xC5\xBB", 'Ż', $tekscik);
    $tekscik = str_replace("\xC5\xBA", 'ź', $tekscik);
    $tekscik = str_replace("\xC5\xB9", 'Ź', $tekscik);
    return $tekscik;
    }
    // utf82iso88591
    // Why doesn't htmlentities() figure this one out? who knows
    function jal_special_chars ($s) {
    $s = htmlspecialchars( $s, ENT_COMPAT , shoutbox_encoding );

    if ( strtolower ( shoutbox_encoding ) != 'utf-8' )
    $s = utf8_decode ( $s );

    return str_replace("---","−-−",$s);
    }

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •