Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z kodowaniem
Forum PHP.pl > Forum > Przedszkole
lordmonkey
witam,
mam pewien problem z kodowaniem na "stronie". Zapisuję w MySQL w tabeli słowa po angielsku i po japońsku i wszystko się elegancko wyświetla w PHPMyAdmin :

ale jak już chcę to wypisać skryptem PHP
  1. <?php
  2. $con = mysql_connect("localhost","root","haslo");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7.  
  8. mysql_select_db("dictionary", $con);
  9.  
  10. $result = mysql_query("SELECT * FROM japanese_words");
  11.  
  12. /* echo "<head>
  13. <meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\">
  14. </head>"; */
  15.  
  16. echo "<table border='1'>
  17. <tr>
  18. <th>English</th>
  19. <th>Japanese</th>
  20. </tr>";
  21.  
  22. while($row = mysql_fetch_array($result))
  23. {
  24. echo "<tr>";
  25. echo "<td>" . $row['word_eng'] . "</td>";
  26. echo "<td>" . $row['word_jap'] . "</td>";
  27. echo "</tr>";
  28. }
  29. echo "</table>";
  30.  
  31. ?>


to zamiast japońskich wyrazów wyskakują pytajniki. Dodałem do strony zakomentowane już kodowanie utf-8, bo i tak nic nie pomogło. Nie mam pojęcia jak to ugryźć. Tak samo jak nie wiem jak wypisać te znaki w Pajączku. Język mam normalnie zainstalowany w systemie i mogę nim bezproblemowo pisać, ale w Pajączku pokazują się pytajniki tak samo jak po wypisaniu przez mój skrypt PHP.
vokiel
Zainstaluj sobie np notepad++, ustaw w nim kodowanie pliku na utf-8 bez BOM, i zobacz czy wtedy też będą krzaczki, jeśli nie, to zmień edytor winksmiley.jpg
lordmonkey
No faktycznie Notepad++ sobie z tym radzi :] Ale Pajączek po otwarciu poprawnie zapisanego pliku pokazuje dziwne znaki :/ Będę musiał przeczesać wszystkie opcje może da się coś tam zmienic. Dzięki i czekam na kogoś może będzie wiedział jak to zmienić w Pajączku.


Ale powstał mi też inny problem. W Notepadzie++ mogę pisać po japońsku i zapisywać, ale jak zrobię coś takiego :
  1. <?php
  2. $con = mysql_connect("localhost","root","haslo");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7.  
  8. mysql_select_db("dictionary", $con);
  9.  
  10. $result = mysql_query("SELECT * FROM japanese_words");
  11.  
  12. echo "<head>
  13. <meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\">
  14. </head>";
  15.  
  16. echo "<table border='1'>
  17. <tr>
  18. <th>Englisha</th>
  19. <th>Japanese</th>
  20. </tr>";
  21.  
  22. echo "わたし"; // japonskie znaki mozliwe ze ich nie widac
  23. while($row = mysql_fetch_array($result))
  24. {
  25. echo "<tr>";
  26. echo "<td>" . $row['word_eng'] . "</td>";
  27. echo "<td>" . $row['word_jap'] . "</td>";
  28. echo "</tr>";
  29. }
  30. echo "</table>";
  31.  
  32. ?>


to dostaje coś takiego:

Co to może oznaczać ?
vokiel
A jak masz ustawione kodowanie bazy? Też utf-8? A jak połączenie z bazą i zwracane wynki?
  1. SET NAMES utf8;
  2. SET character_set_connection=utf8;
  3. SET character_set_client=utf8;
  4. SET character_set_results=utf8;


A jak ustawienia tabel? utf8_general_ci ?

Jeśli ustawiasz kodowanie na np utf-8 to już wszędzie, wtedy raczej działa bez problemu
lordmonkey
ustawiłem już wszędzie utf-8 i dalej to samo...
thek
To teraz jeszcze zostaje tylko ustawienie w znacznikach meta utf-8, bo z tego co widać to masz już wewnętrzne kodowanie pliku jako utf-8 bez bom.
lordmonkey
OK już działa. Po prostu musiałem reconfigurować MySQL, żeby domyślnym kodowaniem było utf-8. Ale z pajączkiem dalej mam problem. sad.gif
melma.pl
Może pomoże smile.gif
http://forum.php.pl/index.php?s=&showt...st&p=804078
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.