Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Kodowanie UTF
Forum PHP.pl > Forum > Przedszkole
patryk22
Witam. Mam problem z zakodowaniem pliku. Próbuje kodować do Utf8_polish_ci

Wszystkie tabele w bazie danych mam zakodowane na uft8 polish. Jednak na stronie widnieją dziwne znaki zamiast polskich.

Chciałem spolszczyć skrypt.

I tu pytanie. Czy wina leży w PHP czy MySQL? I jak ten problem rozwiązać ?

Kod PHP przykładowego pliku:
  1. <?php
  2. global $db,$c,$ir, $set;
  3. $hc=$set['hospital_count'];
  4. $jc=$set['jail_count'];
  5. $ec=$ir['new_events'];
  6. $mc=$ir['new_mail'];
  7. if($ir['hospital'])
  8. {
  9.  
  10. <div class='navipart'>
  11. <div class='navitop'><p>
  12. <img src='images/navi_txt.gif' alt='' />
  13. </p></div>
  14.  
  15. <div class='navi_mid'><ul>
  16.  
  17.  
  18.  
  19. <li> <a class='link1' href='index.php'>Home</a></li>
  20. <li> <a class='link1' href='shops.php'>Sklep Medyczny</a></li>
  21. <li> <a class='link1' href='hospital.php'>Szpital ($hc)</a></li>
  22. <li> <a class='link1' href='inventory.php'>Inwentarz</a></li>";
  23. }
  24. elseif($ir['jail'])
  25. {
  26.  
  27.  
  28. <div class='navipart'>
  29. <div class='navitop'><p>
  30. <img src='images/navi_txt.gif' alt='' />
  31. </p></div>
  32.  
  33. <div class='navi_mid'><ul>
  34.  
  35.  
  36. <li><a class='link1' href='jail.php'>Więzienie ($jc)</a></li>";
  37. }
  38. else
  39. {
  40.  
  41.  
  42. <div class='navipart'>
  43. <div class='navitop'><p>
  44. <img src='images/navi_txt.gif' alt='' />
  45. </p></div>
  46.  
  47. <div class='navi_mid'><ul>
  48.  
  49.  
  50. <li><a class='link1' href='index.php'>Home</a></li><li>
  51. <a class='link1' href='inventory.php'>Inwentarz</a></li>";
  52. }
  53. if($ec > 0) { print "<li> <a class='link1' href='events.php'>Wydarzenia ($ec)</a></li>"; }
  54. else { print "<li> <a class='link1' href='events.php'>Wydarzenia (0)</a></li>"; }
  55. if($mc > 0) { print "<li> <a class='link1' href='mailbox.php'>Poczta ($mc)</a></li>"; }
  56. else { print "<li> <a class='link1' href='mailbox.php'>Poczta (0)</a></li>"; }
  57. if($ir['new_announcements'])
  58. {
  59. print "<li> <a class='link1' href='announcements.php' style='font-weight: 800;'>Ogłoszenia ({$ir['new_announcements']})</a></li>";
  60. }
  61. else
  62. {
  63. print "<li> <a class='link1' href='announcements.php'>Ogłoszenia (0)</a></li>";
  64. }
  65.  
  66.  
  67. if($ir['jail'] and !$ir['hospital'])
  68. {
  69. print "<li> <a class='link1' href='gym.php'>Wiezienna Siłownia</a></li>
  70. <li> <a class='link1' href='hospital.php'>Szpital ($hc)</a></li>";
  71. }
  72. else if (!$ir['hospital'])
  73. {
  74. print "<li> <a class='link1' href='explore.php'>Przeglądaj</a></li>
  75. <li> <a class='link1' href='gym.php'>Siłownia</a></li>
  76. <li> <a class='link1' href='criminal.php'>Przestępstwa</a></li>
  77. <li> <a class='link1' href='job.php'>Praca</a></li>
  78. <li> <a class='link1' href='business_home.php'>Firma</a></li>
  79. <li> <a class='link1' href='education.php'>Szkoła</a></li>
  80. <li> <a class='link1' href='hospital.php'>Szkoła ($hc)</a></li>
  81. <li> <a class='link1' href='jail.php'>Więzienie ($jc)</a></li>";
  82. }
  83. else
  84. {
  85. print "<li> <a class='link1' href='jail.php'>Więzienie ($jc)</a></li>";
  86. }
  87. print "<li> <a class='link1' href='forums.php'>Forum</a></li>";
  88.  
  89. <li> <a class='link1' href='newspaper.php'>Gazeta</a></li>
  90. <li> <a class='link1' href='search.php'>Szukaj</a></li>";
  91. if(!$ir['jail'] && $ir['gang'])
  92. {
  93. print "<li> <a class='link1' href='yourgang.php'>Twój Gang</a></li>
  94.  
  95.  
  96. </div>
  97.  
  98. <div><img src='images/navi_btm.gif' alt='' /></div>
  99. </div>
  100.  
  101.  
  102. ";
  103. }
  104. if($ir['user_level'] > 1)
  105. {
  106.  
  107.  
  108. <div class='navipart'>
  109. <div class='navitop'><p>
  110. <img src='images/staff_links.gif' alt='' />
  111. </p></div>
  112.  
  113. <div class='navi_mid'><ul>
  114. <li> <a class='link1' href='staff.php'>Admin Panel</a></li>
  115. </div>
  116. <div><img src='images/navi_btm.gif' alt='' /></div>
  117. </div>
  118.  
  119.  
  120.  
  121. ";
  122.  
  123.  
  124.  
  125. <div class='navipart'>
  126. <div class='navitop'><p>
  127. <img src='images/staff_online.gif' alt='' />
  128. </p></div>
  129. <div class='navi_mid'><ul>
  130. ";
  131. $q=$db->query("SELECT * FROM users WHERE laston>(unix_timestamp()-15*60) AND user_level>1 ORDER BY userid ASC");
  132. while($r=$db->fetch_row($q))
  133. {
  134. $la=time()-$r['laston'];
  135. $unit="secs";
  136. if($la >= 60)
  137. {
  138. $la=(int) ($la/60);
  139. $unit="mins";
  140. }
  141. if($la >= 60)
  142. {
  143. $la=(int) ($la/60);
  144. $unit="hours";
  145. if($la >= 24)
  146. {
  147. $la=(int) ($la/24);
  148. $unit="days";
  149. }
  150. }
  151. print "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='viewuser.php?u={$r['userid']}'>{$r['username']}</a> ($la $unit)<br>
  152. </div><div><img src='images/navi_btm.gif' alt='' /></div> </div>
  153.  
  154. ";
  155. }
  156. }
  157. if($ir['donatordays'])
  158. {
  159.  
  160.  
  161. <div class='navipart'>
  162. <div class='navitop'><p>
  163. <img src='images/donators_only.gif' alt='' />
  164. </p></div>
  165. <div class='navi_mid'><ul>
  166.  
  167. <li> <a class='link1' href='friendslist.php'>Lista Przyjaciół</a></li>
  168. <li> <a class='link1' href='blacklist.php'>Czarna Lista</a></li>
  169.  
  170. </div>
  171.  
  172. <div><img src='images/navi_btm.gif' alt='' /></div>
  173. </div>
  174.  
  175.  
  176. ";
  177. }
  178.  
  179.  
  180. <div class='navipart'>
  181. <div class='navitop'><p>
  182. <img src='images/other_links.gif' alt='' />
  183. </p></div>
  184. <div class='navi_mid'><ul>
  185.  
  186.  
  187. <li> <a class='link1' href='preferences.php'>Opcje</a></li>
  188. <li> <a class='link1' href='preport.php'>Raport Gracza</a></li>
  189. <li> <a class='link1' href='helptutorial.php'>Pomoc</a></li>
  190. <li> <a class='link1' href='gamerules.php'>Regulamin</a></li>
  191. <li> <a class='link1' href='viewuser.php?u={$ir['userid']}'>Mój Profil</a></li>
  192. <li> <a class='link1' href='logout.php'>Wyloguj</a></li>
  193.  
  194. </div>
  195.  
  196. <div><img src='images/navi_btm.gif' alt='' /></div>
  197. </div>
  198.  
  199.  
  200. " ;
  201.  
  202.  
  203.  
  204. ?>


Crozin
utf9_polish_ci to nie system kodowania znaków, a system ich porównywania. A wątków dot. kodowania znaków w plikach/w bazie było już tyle, że... wystarczy poszukać!
patryk22
hmmm.. napisze ktoś co mam dodać ?
maviozo
Na początku samego kodu daj
Kod
mysql_query("SET NAMES utf8");
patryk22
Nie działa sad.gif

To samo
maviozo
Sprawdź w phpmyadmin, czy krzaki są zapisane już w bazie.

Potem sprawdź, czy w htmlu masz <meta charset> i czy plik php jest zapisany jako utf8
patryk22
W bazie mam wszystko po angielsku,

w HTML jak to sprawdzić

a język mam ustawiony na polski - mam GEdit

Nikt nie poradzi ?
ciekawskiii
Na poczatku pliku daj
  1. <meta http-equiv="content-type" content="text/html; charset=utf-8" />

...
P.s w <head></head> oczywiscie
patryk22
Macie jeszcze jakieś pomysły ?

A może jak zamienić te znaki na litery w bazie ?
Mephistofeles
  1. header('content-type=text/html; charset=utf-8')

Daj na początek.
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.