Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 21.03.2008 Ostrzeżenie: (0%)
|
Witam.
Moja aplikacja bazuje na UTF-8. Baza danych w UTF-8, wszystkie pliki językowe w UTF-8. Wszystko jest pięknie i ślicznie. Zero problemów z polskimi znakami. Jednakże, pojawiła się konieczność eksportu niektórych danych do XML, który musi mieć encoding w ISO-8859-2. Do tego celu wybrałem DomDocument, ponieważ na pierwszy rzut oka dobrze radził on sobie z konwersją no i zachowuje zasady obiektowości. Niestety plik XML został odrzucony przez importującego dane. Podany powód: zbyt duża ilość znaków w jednym z tagów. Zliczając znaki ich ilość była zgodna z dokumentacją, dlatego dobrałem się HexEditorem do wyeksportowanego pliku. Okazało się, że polskie znaki zapisywane są na dwóch bajtach i wyglądają, jak te z UTF-8. Próbowałem ręcznie konwertować plik XML zwrócony jako string (metodą DomDocument::saveXML()) metodą mb_convert_encoding, ale w wyniku otrzymuję (niezależnie od podanego kodowania w parametrze tej funkcji) string kodowany w ASCII, czyli bez polskich znaków. Pytanie: Jak poprawnie zwrócić plik XML posiadający jeden bajt na polski znak, poprawnie zakodowany w ISO-8859-2? PS. Ustawiam nagłówek XML i kodowanie: Z góry dziękuję za pomoc! |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 21.03.2008 Ostrzeżenie: (0%)
|
Oj, był ten kawałek kodu. Zjadło go podczas edycji postu. Jakieś dziwne krzaki się pokazują zamiast kodu i nie można zapisywać posta, dlatego musiałem dodać na nowo cały kod. Zapomniałem o najważlniejszym:
Podsumowując: 1. Buduję DomDocument ustawiając kodowanie i wersję:
2. Tworzę węzły wg danych pobranych z bazy (baza w UTF-8). 3. Renderuję plik XML na ekran, wysyłając przy tym odpowiednie nagłówki. 4. Zwrócony dokument w postaci string próbuję przekonwertować za pomocą iconv lub mb_convert_encoding. Jednakże, mb_convert_encoding usuwa polskie znaki i string zawiera tylko znaki ASCII. Iconv zaś powiadamia mnie błędem, że napotkał na nieznany znak. Ten post edytował spyro 11.01.2011, 16:40:42 |
|
|
|
spyro [XML] DOM i konwersja z UTF-8 do ISO-8859-2 11.01.2011, 11:26:57
nospor Ja do konwersji uzywam http://pl2.php.net/manual/e... 11.01.2011, 11:31:52
zegarek84 mb_convert_encoding -> Supported Character Enco... 11.01.2011, 13:02:48
spyro Jak już napisałem, te metody nie dziełają (mb_conv... 11.01.2011, 13:55:31
nospor CytatJak już napisałemPisales tylko o jednej
Mi t... 11.01.2011, 13:57:39
spyro iconv się wysypuje (prawdopodobnie dlatego, że ten... 11.01.2011, 15:17:36
zegarek84 mało próbujesz, mało kodu pokazujesz itd... pokazu... 11.01.2011, 16:02:01 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 13:48 |