Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z kodowaniem
Forum PHP.pl > Forum > Przedszkole
nihonjin
Zainstalowałem skrypt pod adresem http://www.gamecentrum.pl i niestety pojawił się jakiś problem z kodowaniem. We wszystkich wyrazach pobieranych z bazy danych zamiast polskich liter wyświetlają się pytajniki. W całej bazie danych metoda porównywania napisów ustawiona jest na utf8_general_ci Po wejściu do bazy przez phpMyAdmin polskie znaki wyświetlane są jak na screenie poniżej


Jak sobie z tym poradzić?
sirostr
Ja zawsze miałem kodowanie na domyślnie (latin) i wszystko było ok
piraciq
a czy szanowny kolega o czymś nie zapomniałquestionmark.gif

brak kodowania strony ustaw na utf
nihonjin
Dzięki za odpowiedź. No może zapomniałem zmienić kodowania strony a właściwie to nie wiedziałem jak to zrobić. Czy to się robi programem Gżegżółka?
piraciq
Kod
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


wstaw w sekcji head na stronie
chemik1982
Tak, możesz tym programem zapisać pliki w prawidłowym kodowaniu, w tym wypadku utf-8.
Baza również musi być w takim kodowaniu.
Wykonaj zapytanie:
  1. SET names utf8;


I musi hulać.
Pozdrawiam.
nihonjin
Nadal nie mogę sobie poradzić z tym kodowaniem. Przekonwertowałem z trudem te pliki, być może nie wszystkie ale na pewno te, które edytowałem wcześniej. Skrypt już miał wcześniej ustawione kodowanie utf8 i wszędzie wstwione było
CODE
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Na próbę edytowałem jeden rekord poprzez skrypt i w miejsce naków zapytania wpisałem polkie znaki i w phpAdmin wygląda to tak:



Obecnie cała baza jest ustawiona na utf8 i co dalej z tym zrobić?
Zyx
1. Pola w bazie na utf8_polish_ci
2. Tabele i całe bazy również.
3. Kodowanie ustawiane tuż po połączeniu się z bazą danych. Skrypt musi na początku wysłać podane wyżej zapytanie:

Kod
SET NAMES 'utf8'


4. Kodowanie wysyłane przez nagłówek HTTP:

Kod
header('Content-type: text/html;charset=utf-8');


5. A co do phpMyAdmin, to wejdź na stronę główną i tam wybierz sobie kodowanie dla Twojego połączenia (utf8_polish_ci)

Przy założeniu, że dane w MySQL-u faktycznie są zapisane w UTF-8, jest to wszystko, co mi przychodzi do głowy.
nihonjin
Wielki dzięki za pomac, ale pomimo tego niestety nie poradziłem sobie z tym. Poprzez skrypt edytowałem rekordy, w których wyświetlały się pytajniki i zastąpiłem je odpowiedniki polskimi znakami, naszczęście nie było tego dużo. W skrypcie pojawił się kolejny problem, po naciśnięciu na przycisk"więcej" otwiera się podstrona o adresiehttp://www.gamecentrum.pl/files.lastFiles.html i wyświetla się jakiś gigantyczny błąd. Jak tym razem poradzić sobie z tym?
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.