voytass
25.11.2007, 11:21:54
witam,
Mam plik XMLowy w UTF-8. Wyciągam z niego dane, konwertuje za pomocą ICONV do 8859-2 i wkładam do bazy.
Okazuje sie, ze pewne elementy po kodowaniu są tracone. jeśli w stringu który koduje znajdują sie określone znaki to po konwersji od tego miejsca string 'ginie'.
Zauważyłem, ze takimi znakami są:
–
•
Jak mogę wykonac konwersje także tych znaków specjalnych? jak je usunąć z łańcucha? jak ewentualnie podmienić?
Kicok
26.11.2007, 19:46:30
użyj:
<?php
$tekst = iconv( 'UTF-8', 'ISO-8859-2//TRANSLIST', $tekst );
?>
albo:
<?php
$tekst = iconv( 'UTF-8', 'ISO-8859-2//IGNORE', $tekst );
?>
Więcej informacji znajdziesz w komentarzach funkcji
iconv" title="Zobacz w manualu PHP" target="_manual
Kocurro
26.11.2007, 20:22:04
Poszukaj na google lub w komentarzach dokumentacji do tematu o iconv - tam będzie prosty kod w php'ie, który robi tą konwersję.
Jak go znajdę to wkleję tutaj.
pozdr.
voytass
27.11.2007, 20:14:52
Pomogło poniższe. IGNORE ładnie omija znaki z którymi domyślnie funcja ma problem.
<?php
$tekst = iconv( 'UTF-8', 'ISO-8859-2//IGNORE', $tekst );
?>