Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [DB2 v9] Polskie znaki w XMLu - co z kodowaniem?
Forum PHP.pl > Forum > Bazy danych
Zenobius
Witam

Mam baze danych stworzona z kodowaniem UTF-8 Territory PL.
Wszelkie pola typu varchar, char itp. zapisuja kodowanie dobrze - w UTF-8.
Ale jak zapisuje do bazy cos w pola XML to polskie znaki zapisuja sie w UTF-16.
Wynika z tego smieszny problem, bo przy kazdym zapiscie/odczycie ilosc znakow mnozy sie przez 2 ;-)
XMLa probowalem tworzyc przez pliki .xml, wypelniane trescia przez Smarty, pliki byly stworzone w kodowaniu UTF-8, mialy naglowki z encoding='UTF-8' oraz sygnature BOM wskazujaca na UTF-8.
Probowalem tworzyc te pliki SimpleXML'em, ale efekt ten sam - w bazie zapisywaly sie jako UTF-16.
Pliki z PHP sa oczywiscie w kodowaniu ASCII.
Strony sa tak samo w UTF-8, wszelkie formatki sa tak wysylane.

Jak zrobic zeby polskie znaki zapisywaly sie w bazie z prawidlowym kodowaniem?
Mial ktos taki problem juz?
tommy4
spróbuj pokombinować z iconv.
Zenobius
Gdyby ktos mial taki problem, to oto rozwiazanie:

Aby uniknąć problemu należy w konsoli db2cmd ustawić zmienną
db2codepage na 1208 (czyli UTF-8). Dokonujemy tego poleceniem db2set
db2codepage=1208
Twój problem nie jest związany z zapisem XML w stronie kodowej UTF-16,
a z konwersją przy wprowadzaniu. DB2 rozpoznaje stronę kodową systemu
i dokonuje konwersji zapisanych danych.
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.