Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] KODOWANIE
Forum PHP.pl > Forum > Przedszkole
raval
Witam,

Mam już strasznie irytujący mnie problem, otóż mimo wielu prób nie potrafie dobrze ustawić kodowania, żeby wyświetlały sie polskie znaki, jedynie co dostaje w zamian to wkurzające krzaczki.

Odrazu podakreślam, ze plik jest zapisany jako UTF-8 (bez BOM), poniżej przedstawiam pliczek:

  1. <?php
  2. session_register("zalogowany");
  3.  
  4.  
  5. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  6.  
  7. require_once("check.php");
  8.  
  9. mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą"); //połączenie z bazą danych
  10. mysql_select_db("phones")or die("Wystąpił błąd podczas wybierania bazy danych");
  11.  
  12. mysql_query("SET NAMES utf8");
  13. mysql_query("SET CHARACTER SET utf8");
  14. mysql_query("SET collation_connection = utf8_polish_ci");
  15.  
  16. ?>
  17.  
  18.  
  19. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  20. <html xmlns="http://www.w3.org/1999/xhtml">
  21.  
  22. <head>
  23. <meta content="pl" http-equiv="Content-Language" />
  24. <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
  25. <title>advisory system</title>
  26. <script type='text/javascript' src='jQuery.js'></script>
  27. <link rel="stylesheet" type="text/css" href="css/style.css"/>
  28. </head>
  29.  
  30. <script type="text/javascript">
  31.  
  32. $(document).ready(
  33.  
  34. function()
  35. {
  36. $("table.EditDel tr:odd").addClass("tlo2");
  37. $("table.EditDel tr:even").addClass("tlo1");
  38. });
  39.  
  40. </script>
  41.  
  42. <body>
  43.  
  44. <?php
  45.  
  46. $login = $_SESSION["login"];
  47. $zap = "select * from `users` where `login` = '$login' ";
  48. $wys = mysql_query($zap) or die(mysql_error());
  49. $a = mysql_fetch_assoc($wys);
  50.  
  51.  
  52. echo '<br><table border="1" rules="rows" class="EditDel" >';
  53. echo ' <tr>';
  54. echo ' <td rowspan="8" ><img src="../mgr/images/user.png" style="width: 100%; border-style: none;"/></td><td >Nazwa Profilu</td><td><i><b>'.$a['login'].'</b></i></td>';
  55. echo ' </tr>';
  56. echo '<tr>';
  57. echo ' <td>Imię</td><td>'.$a['imie'].'</td>';
  58. echo ' </tr>';
  59. echo ' <tr>';
  60. echo ' <td>Nazwisko</td><td>'.$a['nazwisko'].'</td>';
  61. echo ' </tr>';
  62. echo ' <tr>';
  63. echo ' <td>e-mail</td><td>'.$a['email'].'</td>';
  64. echo ' </tr>';
  65. echo ' <tr>';
  66. echo ' <td>Ulica</td><td>'.$a['ulica'].'</td>';
  67. echo ' </tr>';
  68. echo ' <tr>';
  69. echo ' <td>Miasto</td><td>'.$a['miasto'].'</td>';
  70. echo ' </tr>';
  71. echo ' <tr>';
  72. echo ' <td>Kod - pocztowy</td><td>'.$a['kod'].'</td>';
  73. echo ' </tr>';
  74. echo ' <tr>';
  75. echo ' <td>telefon</td><td>'.$a['tel'].'</td>';
  76. echo ' </tr>';
  77. echo '</table>';
  78.  
  79.  
  80.  
  81. mysql_close(); //zamykanie połączenia z bazą
  82. ?>
  83.  
  84.  
  85. </body>
  86. </html>


oraz tabela z BD:

  1. CREATE TABLE IF NOT EXISTS `users` (
  2. `id` int(255) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(50) COLLATE utf8_polish_ci NOT NULL,
  4. `haslo` varchar(50) COLLATE utf8_polish_ci NOT NULL,
  5. `imie` varchar(50) COLLATE utf8_polish_ci NOT NULL,
  6. `nazwisko` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  7. `email` varchar(50) COLLATE utf8_polish_ci NOT NULL,
  8. `ulica` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  9. `miasto` varchar(50) COLLATE utf8_polish_ci NOT NULL,
  10. `kod` int(5) NOT NULL,
  11. `tel` int(11) NOT NULL,
  12. PRIMARY KEY (`id`)
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=3 ;


bardzo prosze o porade, pozdrawiam.
by_ikar
Nie wiem jak działa set names, kiedyś próbowałem i żadnego efektu mi to nie przynosiło. W manualu znalazłem funkcje mysql_set_charset która okazała się być skuteczną.
raval
niestety dalej nic, zamiast :

  1. mysql_query("SET NAMES utf8");
  2. mysql_query("SET CHARACTER SET utf8");
  3. mysql_query("SET collation_connection = utf8_polish_ci");


dałem:

  1. mysql_set_charset("utf8",mysql_connect("localhost", "root", ""));


same krzaczki :X
webdice
Przeglądnąłeś przynajmniej przypięty temat w tym dziale? Zakładam że nie, zamykam!
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.