Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] konwersja kodowania stringu pobranego z bazy
Forum PHP.pl > Forum > Przedszkole
siutek
witam,
mam problem z konwersją kodowania danych pobranych z bazy.
napisałem stronę, której jeden z działów to giełda. dział ten powiązany jest z forum które funkcjonuje na tej stronie (gotowy mechanizm simplemachines).
dane są pobierane z bazy, z tabeli która przetrzymuje wątki tego forum. Niestety na stronie wyświetlają mi się krzaki (forum wyświetla polskie znaki poprawnie).
Zatem problemem jest źle dobrane kodowanie na stronie napisanej przeze mnie.

funkcja mb_detect_encoding pokazuje, że pobrany string zakodowany jest w ASCII (ciekawe :/), natomiast pola w bazie zawierające treści postów są zakodowane w utf8_general_ci, tak samo całe tabele. Skąd więc to kosmiczne ASCII?

Co za tym idzie, nie jestem w stanie poprawnie zmienić kodowania, ani przy pomocy mb_convert_encoding ani poprzez iconv, docelowe kodowanie do UTF-8 lub ISO-8859-2 nie daje efektów.

jak to rozwiązać? nadmienię, że na ekranie w miejscu polskich znaków dostaję znaczki zapytania, i to się dzieje tylko przy stringach pobranych z bazy danych tego fora, dane z bazy z tabel stworzonych przeze mnie wyswietlane są poprawnie.
Dominis
Witam,

Sprawdziłem co u mnie wyświetla funkcja
mb_detect_encoding
i też mam ASCII.

ja po każdym połączeniu dodaje ta linijke:
  1. $db->query("SET NAMES 'utf8'");


bez tej notki, też mam krzaki po pobraniu danych z bazy.

zmienna $db to:
  1. @ $db= new mysqli('localhost', 'user', 'password', 'db');


Warto też sprawdzić czy wyświetlenie znaków polskich (śćąęźż) nie pobieranych z bazy tez są wyświetlane jako krzaki czy dobrze wyświetla.

Pozdrawiam
siutek
Dominis, to mi nie pomaga, wrecz pogarsza sprawe.
Pisałem już wyżej, że problem kodowania dotyczy tylko tresci wyciaganych z tabel forum Simple Machine,
zatem jeśli na jednej stronie mam różne treści, z różnych tabel, tych stworzonych przeze mnie, jak i tych dotyczących forum SM, to tylko znaki z tych drugich są w formie "pytajników".

Porównałem kodowanie tabel "moich" i "forumowych" - jest identyczne, tak więc zakladam, że problem tkwi w kodowaniu znaków przekazywanych do zapisu w tabeli.
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.