Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie pobranych danych z bazy na strone
Forum PHP.pl > Forum > Bazy danych > MySQL
terranet
Witam.

Mam takie pytanie...

Mianowicie w bazie danych mam zapisy rekordow w roznych formach kodowania

np jeden rekord posiada zawartosc w UTF inny w ISO i teraz jak wyciagam te dane z bazy chcialbym aby poprawnie wyswietlaly mi sie w kodowaniu ISO - rowniez te UTF

Nie wiem jak zabardzo konwertowac takie formaty - albo inaczej moze ktos wie, jak konwertowac tekst z UTW przy dodawaniu do bazy na ISO?questionmark.gif

Heh troche zakreciłem, ale mysle ze wytłumaczyłem o co mi chodzi...

Z gory dzieki za odp ;-)
Grzyw
Możesz skorzystać z 2 funkcji kodujących:
mb_convert_encoding()
  1. <?php
  2. $stringUTF = mb_convert_encoding($stringInny,'UTF-8');
  3. ?>


inconv()
  1. <?php
  2. $stringUTF = incov('KODOWANIE_WEJŚCIOWE','UTF-8',$stringInny);
  3. ?>


W drugiej z funkcji musisz podać dokładnie jako parametr kodowanie stringa wejściowego.
kitol
Najlepiej w bazie trzymać wszystko w jednym kodowaniu.
Jeżeli dane wejściowe (np. z plików, lub formularzy) mają rózne kodowania, wówczas należy bazę poinformować w jakim kodowaniu są dane. W insercie robię to tak:
  1. INSERT INTO tabela (col1, col2) VALUES ( _utf8'jakieś dane w utf-8', _cp1250'jakies dane w cp1250')


jeżeli chodzi o wyrzucanie danych na stronę to użycie instrukcji:
  1. SET NAMES 'utf-8'
powoduje że wszystkie dane otrzymywane z bazy będą w utf-8
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.