Problem z kodowaniem znakow w DB2

pyt Q

Witam
Wiem ze to grupa dotyczaca PHPa, ale problem wydaje sie byc po stronie wlasnie PHP a nie samej bazy danych.
Nie wiem czy ktos z grupowiczow korzysta z DB2 Express-C v9?
Moj problem polega na tym, ze przy zapisywaniu tresci w polach typu XML dane zapisuja sie w dziwnym kodowaniu - zdaje sie, ze UTF16, zamiast ustawionego UTF8.
Baza jest stworzona z territory PL, kodowanie ustawione na UTF8, w Varcharowych polach dane zapisuja sie ok - w UTF8.
Strony kodowane sa w UTF8, pliki XML rowniez. Do tworzenia XMLa uzywam SimpleXML, ale probowalem i z innymi bibliotekami i efekt ten sam.
Calkiem mozliwe, ze PHP "nie wie" co to jest pole XML i zapisuje wartosc w jakichs dziwny sposob. Korzystam aktualnie z ZendFramework w wersji 0.9, do polaczania sie z baza uzywam Zend_Db::factory('DB2', ()); ktory to korzysta z extension'a ibm_db2, ktory mam w wersji 1.2.3
Mial ktos taki lub podobny problem? Ewentualnie jakies pomysly jak to rozwiklac? :-)
Problem jest dosc tragiczny w skutkach, bo przy updejtach danych, tekst zamienia sie w "krzaczki", do tego mnozy x2 przy kazdym wczytaniu/updejcie ;-)

odp A

Witam
Wiem ze to grupa dotyczaca PHPa, ale problem wydaje sie byc po stronie wlasnie PHP a nie samej bazy danych.
Nie wiem czy ktos z grupowiczow korzysta z DB2 Express-C v9?
Moj problem polega na tym, ze przy zapisywaniu tresci w polach typu XML dane zapisuja sie w dziwnym kodowaniu - zdaje sie, ze UTF16, zamiast ustawionego UTF8.
Baza jest stworzona z territory PL, kodowanie ustawione na UTF8, w Varcharowych polach dane zapisuja sie ok - w UTF8.
Strony kodowane sa w UTF8, pliki XML rowniez. Do tworzenia XMLa uzywam SimpleXML, ale probowalem i z innymi bibliotekami i efekt ten sam.
Calkiem mozliwe, ze PHP "nie wie" co to jest pole XML i zapisuje wartosc w jakichs dziwny sposob. Korzystam aktualnie z ZendFramework w wersji 0.9, do polaczania sie z baza uzywam Zend_Db::factory('DB2', ()); ktory to korzysta z extension'a ibm_db2, ktory mam w wersji 1.2.3
Mial ktos taki lub podobny problem? Ewentualnie jakies pomysly jak to rozwiklac? :-)
Problem jest dosc tragiczny w skutkach, bo przy updejtach danych, tekst zamienia sie w "krzaczki", do tego mnozy x2 przy kazdym wczytaniu/updejcie ;-) -- Pozdrawiam b±dĽ nie.. [ GG# 57 ] Piotr Baranowski Owiec Hardcore'u z Generacji-D Zenobius Hermenegildorf Xavierus 'Korpuskularny'
Aby unikn±ć problemu należy w konsoli db2cmd ustawić zmienn± db2codepage na (czyli UTF-8). Dokonujemy tego poleceniem db2set db2codepage= 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.
Marcin Molak

odp A

Aby uniknąć problemu należy w konsoli db2cmd ustawić zmienną db2codepage na (czyli UTF-8). Dokonujemy tego poleceniem db2set db2codepage08 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.
Dzieki, wlasnie o to chodzilo :-)

Dodaj odpowiedĽ

Tytuł:

Mail: (w celu weryfikacji posta)