Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] konwertowanie str z utf-8 na iso-8859-2
Forum PHP.pl > Forum > PHP
3miel
Witam,

robie taki maly konwerter stron (a dokładnie źródeł). I na mojej stronie mam kodowanie ISO a pobieram źródlo str z kodowaniem UTF-8. I wszystkie polskie znaki zrobiłem:

Kod
'Ä™'=>'ę',
'Ä?'=>'Ę','
Ăł'=>'ó',
'Ă“'=>'Ó',
'Ä…'=>'±',
'Ä„'=>'ˇ',
'Ĺ›'=>'¶',
'Ĺš'=>'¦',
'Ĺ‚'=>'ł',
'Ł'=>'Ł',
'ĹĽ'=>'ż',
'Ĺ»'=>'Ż',
'Ĺş'=>'Ľ',
'Ĺą'=>'¬',
'ć'=>'ć',
'Ć'=>'Ć',
'Ĺ„'=>'ń',
'Ĺ?'=>'Ń'


I tylko prze literze 'Ł' mam problem, bo ta krateczka 'Ł' nie chce sie zapisac w notatniku przy domyślnym kodowaniu ANSI. A nie mogę zmienić bo pozniej musiłbym wszedzie zmianiac znaki... Gżegżółka też sobie nie radzi z zamianą tego kwadraciku. znalazlem coś takiego: http://www.kurshtml.boo.pl/generatory/unicode.html ale tam jest multum tych kwadracikow i nie wiem ktorys bedzie dobry.

Możecie jakoś pomóc?
Cotter
Używasz do tego PHP?

W PHP jest gotowa funkcja zmieniająca kodowanie stringów:
http://pl.php.net/manual/pl/function.iconv.php
nevt
a nie prościej:
  1. <?php
  2. $result = mb_convert_encoding($source, 'ISO-8859-2', 'UTF-8');
  3. ?>

TUTAJ masz dokładniejszy opis...
3miel
Kod
Fatal error: Call to undefined function: iconv() in c:\usr\krasnal\www\bm\moduly\Aktualizuj.php on line 29


  1. <?$zrodlo = mb_convert_encoding( "W szczerbrześżćół.", 'ISO-8859-2', 'UTF-8');?>

Kod
Fatal error: Call to undefined function: mb_convert_encoding() in c:\usr\krasnal\www\bm\moduly\Aktualizuj.php on line 29


PHP w wersji 4.3.4... co jest grane?
deirathe
Wygląda na to że brakuje Ci tych funkcji na serwerze
Cytuje z php.net/iconv

"
Proszę pamiętać, że w niektórych systemach funkcja iconv() działa niezgodnie z oczekiwaniami. W takich przypadkach należy zainstalować bibliotekę libiconv.
Wymagania

Trzeba mieć funkcję iconv() w standardowej bibliotece C, lub zainstalowaną bibliotekę libiconv. Biblioteka libiconv jest dostępna pod adresem ť http://www.gnu.org/software/libiconv/.
i niżej

Note to WindowsŽ Users: In order to enable this module on a WindowsŽ environment, you need to put a DLL file named iconv.dll or iconv-1.3.dll (prior to 4.2.1) which is bundled with the PHP/Win32 binary package into a directory specified by the PATH environment variable or one of the system directories of your WindowsŽ installation.

This module is part of PHP as of PHP 5 thus iconv.dll and php_iconv.dll is not needed anymore.

"
3miel
Korzystam z Apache na Windowsie... sciaglem to tylko gdzie to teraz wypakowac? gdzie skopiowac? Nie rozumiem za bardzo angielskiego...
matix
Przede wszystkim zmień Krasnala na coś nowszego, bo php4 to przeżytek do wyrzucenia...,

Polecam samemu sobie wszystko wgrać,itp,
ewentualnie XAMPP - php5, mysql itp,

Jeśli nie zmienisz tego to będziesz miał problemy nie tylko z tą funkcją.

Pozdro ;]
3miel
Hm no narazie mi dziala wszytko dobrze oprocz teog jednego wiec to nie jest powod do zmian. Jestem uparty i chce zrobić to tylko potrzebuje waszej pomocy.
deirathe
to zaktualizuj samo php z 4 na 5, tak jak masz wyzej napisane 5 ma juz wbudowana ta biblioteke, na google jak wpiszesz znajdziesz opis jak zainstalowac php5 a jak nie dasz rady to sciagnij sobie webserv- dziala na podobnej zasadzie co krasnal i wg mnie jest lepszy. Co do wersji php to 5 juz istnieje od kliku lat i nie ma sensu programowac w 4 tak poza tym obsluga obiektow w 4 jest nie do poronwania z tym co daje Ci php5.
bim2
Ja tam polecam xamp'a z openSSL'em. Na webservie wyskakiwał błąd gdy curla instalowałem ;\

Co do iconv, to albo zmienisz całą stronę na utf-8, albo zainstalujesz nowy serwer ^^
3miel
Zainstalwoalem nowego krasnala z PHP v. 5.0.x i dalej iconv jak i ten drugi sposob nei dziala:( ten sam blad:(.

Nie probowalme na WebServ bo jak zainstaluje i zimportuje baze MySQL to zamiast polskich znakow sa same: "?". Jak to zrobić?
bim2
Krasnal widocznie tego nie posiada. Przesiądź się na jakiś inny serwer domowy. Co z tego, że zainstalujesz go 10 - 20 razy jak on nie ma włączonego iconv i mb ;/

Zainstaluj xamp albo webserv. Na nich dwóch mi ładnie chodzi wszystko.
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.