logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[PHP, MySql] Jak wyświetlić polskie znaki w PHP i MySQL 5.0.51a? Ustawienia utf8_polish_ci

cyborg83 07 Gru 2009 09:36 7782 7
REKLAMA
  • #1 7355980
    cyborg83
    Poziom 10  
    Posty: 6
    Ocena: 1
    Witam,
    były już na forum podobne tematy lecz zastosowałem się do nich i dalej nic nie pomaga...
    a więc mam tabele w bazie danych (MySQL: 5.0.51a) w której zawartość ma polskie znaki, na stronie niestety widzę krzaczki...

    Na głównej stronie phpmyadmin:
    System porównań dla połączenia MySQL: utf8_polish_ci
    w ustawieniach bazy danych: utf8_polish_ci
    w ustawieniach konkretnej tabeli: utf8_polish_ci
    w ustawieniach konkretnego pola: utf8_polish_ci
    przy przeglądaniu bazy w phpmyadmin widzę polskie znaki

    w otwieranym w przeglądarce pliku php mam:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    i dla pewności dodałem też:
    $query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error($myConnection));
    if (!mysqli_set_charset($myConnection, "utf8")) {
    printf("Error loading character set utf8: %s\n", mysqli_error($myConnection));
    } else {
    printf("Current character set: %s\n", mysqli_character_set_name($myConnection));
    }

    skrypt wyświetla : " Current character set: utf8 "

    nie mam więcej pomysłów co jeszcze ustawić, może coś pominąłem...
  • REKLAMA
  • #2 7356030
    Pentryt
    Poziom 15  
    Posty: 170
    Pomógł: 12
    Ocena: 3
    A w czym piszesz? Najprawdopodobniej edytor zapisuje złe kodowanie samego pliku.

    Dodano po 5 [minuty]:

    W Windowsie korzystałem z darmowego programu "HateML PRO 1.1" a pod Linuksem z "gEDIT".
  • REKLAMA
  • #3 7356057
    cyborg83
    Poziom 10  
    Posty: 6
    Ocena: 1
    pisze w Macromedia Dreamweaver 8,
    sprawdzałem też style bo myślałem że może ustawione czcionki nie mają polskich znaków ale też nic nie pomogło...
  • REKLAMA
  • #4 7356073
    Pentryt
    Poziom 15  
    Posty: 170
    Pomógł: 12
    Ocena: 3
    A przy połączeniu z bazą zdefiniowałeś kodowanie?

    Dodano po 1 [minuty]:
    
    mysql_query("SET CHARSET latin2", $db);
    mysql_query("SET NAMES 'latin2'", $db); 
    

    Dodano po 38 [sekundy]:

    ...tylko, że w Twoim wypadku "UTF-8"

    Dodano po 4 [minuty]:

    Krok po kroku:
    Polskie znaki PHP, MySQL
  • #5 7356222
    cyborg83
    Poziom 10  
    Posty: 6
    Ocena: 1
    ja użyłem polecenia:
    mysqli_set_charset($myConnection, "utf8")
    i po sprawdzeniu skrypt wyświetla : " Current character set: utf8 "

    nie mam pojęcia czego się chwycić...
  • REKLAMA
  • Pomocny post
    #6 7356430
    Pentryt
    Poziom 15  
    Posty: 170
    Pomógł: 12
    Ocena: 3
    A próbowałeś z latin2_general_ci, ISO-8859-2?

    Zrób prosty test.

    Stwórz tabelę:
    
    CREATE TABLE `cokolwiek`
    (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `asd` VARCHAR(255)
    ) TYPE=MyISAM DEFAULT CHARSET=latin2
    


    dodaj rekord:
    
    insert into cokolwiek values(null, 'zażółć gęślą jaźń');
    


    stwórz plik cokolwiek.php:
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
    <title>Cokolwiek</title>
    </head>
    <body>
    <?
    
    $db = mysql_connect( 'localhost', 'login', 'hasło');
    mysql_select_db('baza_danych', $db);
    mysql_query("SET CHARSET 'latin2'", $db);
    
    $result = mysql_query('SELECT * FROM cokolwiek');
    $asd = mysql_result($result, 0, 'asd');
    
    echo $asd;
    
    ?>
    </body>
    </html>
    


    i napisz czy są polskie znaki.

    Powinno wyglądać to tak LINK
  • #7 7359006
    cyborg83
    Poziom 10  
    Posty: 6
    Ocena: 1
    działa!!
    więc coś mam porąbane w skrypcie, podejrzewam ze style css cos mi popierdzieliły ale już do tego nie dojde bo to cholernie rozbudowany plik...
    Załatwiłem to inaczej, dodałem sobie iframe i w nim przerobiony odpowiednio testowy, sugerowany przez Ciebie skrypt (który wyświetla mi teraz te pola, których potrzebuje), teraz wszystko wygląda jak należy,

    Bardzo dziękuję za pomoc!!
    Pozdrawiam
  • #8 7360297
    Pentryt
    Poziom 15  
    Posty: 170
    Pomógł: 12
    Ocena: 3
    Ja nadal podejrzewam złe kodowanie pliku.

Podsumowanie tematu

✨ Użytkownik ma problem z wyświetlaniem polskich znaków w aplikacji PHP korzystającej z bazy danych MySQL 5.0.51a. Mimo ustawienia kodowania na utf8_polish_ci w phpMyAdmin oraz w skrypcie PHP, na stronie pojawiają się krzaczki. Użytkownik sprawdził różne edytory kodu, w tym Macromedia Dreamweaver 8, ale problem nadal występuje. Ostatecznie, po sugestii innego uczestnika dyskusji, przetestował kodowanie latin2, co rozwiązało problem. Użytkownik podejrzewał, że przyczyną problemu mogą być style CSS lub inne elementy skryptu.
Wygenerowane przez model językowy.
REKLAMA