![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
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? -------------------- Pozdrawiam
Piotr 'Zenobius' Baranowski Tworzenie stron internetowych |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 288 Pomógł: 12 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
spróbuj pokombinować z iconv.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- Pozdrawiam
Piotr 'Zenobius' Baranowski Tworzenie stron internetowych |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 08:08 |