Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Apache
Forum PHP.pl > Forum > Przedszkole
jacusek
Witam.
Mam taki problem. Mam na witrualnej maszynie postawionego xamppa. Z Apachem i MySQL. Od dwóch dni próbuję znaleźć błąd, który powoduje że nie wyświetlają mi się polskie znaki w tabeli wynikowej w przeglądarce.
Chodzi o taki skrypt w php

  1. $mysqli = mysqli_connect("localhost", "user", "haslo", "baza");
  2. w przypadku tej liniki próbowałem już wszystkiego
  3. $mysqli->set_charset("utf-8");
  4. if(mysqli_connect_errno())
  5. {
  6. printf("nie udało się połączyć:%s\n", mysqli_connect_error());
  7. exit();
  8. }
  9. else
  10. {
  11. $sql= "select nazwisko_imie from tabela";
  12. $rez= mysqli_query($mysqli, $sql);
  13.  
  14. if($rez)
  15. {
  16. while ($nowaTab=mysqli_fetch_array($rez, MYSQLI_ASSOC))
  17. {
  18. $id_lek=$nowaTab['id'];
  19. $nazwisko_imie=$nowaTab['nazwisko_imie'];
  20. echo "".$nazwisko_imie."<br/>";
  21. }
  22. } else
  23. {
  24. printf("nie można pobrać rekordów %s\n", mysqli_error($mysqli));
  25. }
  26. mysqli_free_result($rez);
  27. mysqli_close($mysqli);
  28. }
  29. ?>

W MySQL mam wszystko poustawiane na UTF-8 i utf_polish_ci włącznie z kolumnami. Szukałem też w apache i na forum i chyba już wyczerpałem wszystkie możliwości, choć najbardziej podejrzewam serwer.
Podobny problem mam z formularzem, który zrobiłem. Formularz wyświetla mi się ze znakami polskimi:
Oto formularz:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//en"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  6. <meta http-equiv="Content-Language" content="pl">
  7. TEST
  8. </title>
  9. </head>
  10. <body>
  11. <form action="inserty.php" method="POST">
  12. NAZWISKO <input type="text" name="nazwisko" size="30"><br/><br/>
  13. IMIĘ<input type="text" name="imie" size="30"><br/><br/>
  14. PESEL
  15. <input type="text" name="PESEL" size="30"><br/><br/>
  16. TEL_KOM
  17. <input type="text" name="TEL_KOM" size="30"><br/><br/>
  18. TEL
  19. <input type="text" name="TEL" size="30"><br/><br/>
  20. MIASTO<input type="text" name="MIASTO" size="30"><br/><br/>
  21. ULICA
  22. <input type="text" name="ULICA" size="30"><br/><br/>
  23. <p><input type=submit name="submit" value="wstaw rekord"></p>
  24. </form>
  25. </body>
  26. </html>
  27.  

to są na razie początki stąd formularz trochę koślawy blinksmiley.gif .
Dodatkowo skrypt wstawiający do bazy
  1. <?php
  2. $mysqli = mysqli_connect("localhost", "user", "haslo", "baza");
  3. //tutaj również próbowałem różnych cudów
  4. $mysqli->set_charset('utf_8_polish_ci');
  5. header('content type=text/html; chatset=utf-8');
  6. if(mysqli_connect_errno())
  7. {
  8. printf("nie udało się połączyć:%s\n", mysqli_connect_error());
  9. exit();
  10. }
  11. else
  12. {
  13. $sql= "insert into testowa (nazwisko, imie, PESEL, TEL_KOM, TEL, MIASTO, ULICA) values
  14. ('".$_POST['nazwisko']."','".$_POST['imie']."','".$_POST['PESEL']."','".$_POST['TEL_KOM']."',
  15. '".$_POST['TEL']."','".$_POST['MIASTO']."','".$_POST['ULICA']."')";
  16. $rez= mysqli_query($mysqli, $sql);
  17.  
  18. if($rez == true)
  19. {
  20. echo ('Dodano rekord');
  21. }else
  22. printf("Nie udało się wstawić rekordu: %s\n", mysqli_error($mysqli));
  23. }
  24. mysqli_close($mysqli);
  25. ?>

I szczerze mówiąc już nie mam pomysłu. Muszę iść ze wszystkim dalej, a tracę na to czas sciana.gif . Czy ma ktoś może jakieś sugestie. Wątki przekopałem i nie znalazłem nic coby mogło mi pomóc.
Z góry dzięki
athei
Spróbuj to (różnica to utf8 zamiast utf-8)
Kod
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}
jacusek
Wielkie dzięki. yahoo.gif O dziwo pomogło w obu przypadkach. Kolejny błąd nowicjusza. 5 h spędzonych nad błędem, ale przynajmniej dowiedziałem się kilku rzeczy mniej związanych z tematem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.