![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam bazę w utf-8, dane w utf-8 (testowo wrzucone z Wikipedii), plik który pobiera te dane też w utf-8 i chce te dane po pobraniu zapisać do nowego pliku i używam:
Kod $plik = fopen('index.html', 'w'); fwrite($plik, utf8_encode($index)); fclose($plik); I niestety w pliku wynikowym są krzaki zamiast polskich liter. Co jest nie tak? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
A ten nowy plik to też w UTF8?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak, też
sprawdzałem w Notepad++ i pokazuje że to utf-8 ale jak do tego pliku wrzucę w notepadzie++ tekst z wikipedii i zapiszę to jest OK, a ten z bazy ma krzaki ![]() może problem jest po stronie utf8_encode bo u mnie zamienia tak jakby z utf-8 wyciągniętego z bazy na utf-8 do pliku; ale bez tej funkcji były jeszcze brzydsze krzaki, a na php.net ktoś napisał, że niby pomaga ta funkcja w takich wypadkach -------- OK, poradziłem sobie z powyższym problemem, ale teraz mam nowy: potrzebuje tekst bez polskich liter (do linka) i poniższa zamiana dla utf-8 nie działa poprawnie: Kod $tekst_bez_pl = strtr($tekst, 'ĘÓĄŚŁŻŹĆŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn');
Ten post edytował art7 26.10.2008, 14:14:14 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 7 Dołączył: 30.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod function pl_remove($text) { $pl_replace = array( 'ą' => 'a', 'ę' => 'e', 'ś' => 's', 'ć' => 'c', 'ó' => 'o', 'ń' => 'n', 'ż' => 'z', 'ź' => 'z', 'ł' => 'l', 'Ą' => 'A', 'Ę' => 'E', 'Ś' => 'S', 'Ć' => 'C','Ó' => 'O', 'Ń' => 'N', 'Ż' => 'Z', 'Ź' => 'Z', 'Ł' => 'L' ); return str_replace(array_keys($pl_replace), array_values($pl_replace), $text); } Kod function prepareURL($text) { $text = pl_remove($text); $text = strtolower($text); $text = str_replace(' ', '-', $text); $text = preg_replace('/[^0-9a-z\-]+/', '', $text); $text = preg_replace('/[\-]+/', '-', $text); $text = trim($text, '-'); return $text; } i dajesz Kod echo prepareURL('tekst');
Ten post edytował pawkow 26.10.2008, 14:20:57 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:04 |