BlackHat Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 Witam, otóż mam taki dylemat. Szukałem skryptu, który pomoże mi przerobić poszczególne LITERY, nie słowa. Mam forum oparte na skrypcie vB, gdzie polskie znaki są zapisane w ISO* i muszę te polskie znaki przekonwertować na UTF. Z tego względu odpadają wszystkie wersje które polegają na zmianie poszczególnych wyrazów, bo jest to niewykonalne w moim wypadku. Tylko zmiana poszczególnych liter wchodzi w grę. Mimo, że jestem zielony w tej tematyce znalazłem coś takiego: function iso88592_2utf8($input) { static $iso88592; if (!count($iso88592)) $iso88592 = array( '€', 'Â�', '‚', 'ƒ', '„', 'Â…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'ÂŒ', 'Â�', 'ÂŽ', 'Â�', 'Â�', '‘', 'Â’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'Âœ', 'Â�', 'ž', 'Ÿ', ' ', 'Ä„', '˘', 'Ĺ�', '¤', 'Ä˝', 'Ĺš', '§', '¨', 'Ĺ ', 'Ĺž', 'Ť', 'Ĺš', 'Â*', 'Ĺ˝', 'Ĺť', '°', 'Ä…', 'Ë›', 'Ĺ‚', '´', 'Äž', 'Ĺ›', 'ˇ', '¸', 'ĹĄ', 'ĹŸ', 'ĹĽ', 'Ĺş', 'Ë�', 'Ĺž', 'Ĺź', 'Ĺ”', 'Ă�', 'Ă‚', 'Ä‚', 'Ă„', 'Äš', 'Ć', 'Ç', 'ÄŒ', 'É', 'Ę', 'Ă‹', 'Äš', 'Ă�', 'ĂŽ', 'ÄŽ', 'Ä�', 'Ĺƒ', 'Ň', 'Ă“', 'Ă”', 'Ĺ�', 'Ă–', 'Ă—', 'Ĺ˜', 'ĹŽ', 'Ăš', 'Ĺ°', 'Ăœ', 'Ă�', 'Ţ', 'ĂŸ', 'Ĺ•', 'ĂĄ', 'â', 'ă', 'ä', 'Äş', 'ć', 'ç', 'Ä�', 'ĂŠ', 'Ä™', 'ĂŤ', 'Ä›', 'Ă*', 'ĂŽ', 'Ä�', 'Ä‘', 'Ĺ„', 'Ĺˆ', 'Ăł', 'Ă´', 'Ĺ‘', 'Ăś', 'á', 'Ĺ™', 'ĹŻ', 'Ăş', 'Ĺą', 'Ăź', 'Ă˝', 'ĹŁ', 'Ë™'); return preg_replace("/([\x80-\xFF])/e", '$iso88592[ord($1) - 0x80]', $input); } function iso885922utf8($tekscik) { $tekscik = str_replace("�", "\xC4\x85", $tekscik); $tekscik = str_replace('�', "\xC4\x84", $tekscik); $tekscik = str_replace('�', "\xC4\x87", $tekscik); $tekscik = str_replace('�', "\xC4\x86", $tekscik); $tekscik = str_replace('�', "\xC4\x99", $tekscik); $tekscik = str_replace('�', "\xC4\x98", $tekscik); $tekscik = str_replace('�', "\xC5\x82", $tekscik); $tekscik = str_replace('�', "\xC5\x81", $tekscik); $tekscik = str_replace('�', "\xC3\xB3", $tekscik); $tekscik = str_replace('�', "\xC3\x93", $tekscik); $tekscik = str_replace('�', "\xC5\x9B", $tekscik); $tekscik = str_replace('�', "\xC5\x9A", $tekscik); $tekscik = str_replace('�', "\xC5\xBC", $tekscik); $tekscik = str_replace('�', "\xC5\xBB", $tekscik); $tekscik = str_replace('�', "\xC5\xBA", $tekscik); $tekscik = str_replace('�', "\xC5\xB9", $tekscik); return $tekscik; } // iso885922utf8 Są to niby tak samo pracujące skrypty, a jednak zawierają zupełnie inne zmienne? Czemu tak jest? I który jest w takim razie lepszy? No i oczywiście jak to połączyć w jedną całość tak, żeby skrypt połączył się z bazą danych i w niej pozmieniał wszystkie dane? Z góry dzięki za pomoc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MMP Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 Lepiej użyć biblioteki mbstring. Do tego typu zadań. stopka usunieta z wpoodu wirusa na stronie docelowej Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tkosau Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 Ja bym skorzystał z iconv np.: z iso na utf $wyjscie=iconv('iso-8859-2','utf-8',$wejscie); i z utf na iso $wyjscie=iconv('utf-8','iso-8859-2',$wejscie); Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BlackHat Opublikowano 9 Sierpnia 2007 Autor Udostępnij Opublikowano 9 Sierpnia 2007 wiecie, może tak... to kolega podrzucił mi te skrypty, bo ja nie znam prawie wcale php... dlatego, jeśli podajecie mi jakieś wyjście, rozwiązanie to mi to niestety niewiele mówi. Dlatego, jakby mi ktoś napisał coś takiego i wyjaśnił jak to ma działać, byłbym wdzięczny. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tkosau Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 Wykorzystując funkcję iconv przykład użycia: $tekst='jakiś tekst w iso-8859-2 bla bla bla'; $tekstWyjsciowy=iconv('iso-8859-2','utf-8',$tekst); W zmiennej $tekst jest tekst w iso-8859-2 po wywołaniu iconv w zmiennej $tekstWyjsciowy będzie ten tekst zakodowany w utf-8. Nie wiem co więcej można tu napisać. Więcej informacji o iconv będzie pod adresem w manualu tutaj. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BlackHat Opublikowano 9 Sierpnia 2007 Autor Udostępnij Opublikowano 9 Sierpnia 2007 głupio zrobiłem, bo powinienem to napisać od początku... szukałem tego skryptu, bo muszę przerobić poszczególne LITERY nie słowa. Mam forum oparte na skrypcie vB, gdzie polskie znaki są zapisane w ISO* i muszę te polskie znaki przerobić. Z tego względu odpadają wszystkie wersje które polegają na zmianie poszczególnych wyrazów, bo jest to niewykonalne w moim wypadku. Tylko zmiana poszczególnych liter wchodzi w grę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maximus Marius Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 Widzę że co osoba to kolejne rozwiązanie zamiany polskich znaków Metod widziałem bardzo dużo, i każdy może podejść do tematu inaczej dlatego kody mogą sie róznić. Najlepsza jest ta metoda która umiesz użyć , a potem ta którą rozumiesz a potem ta która jest najszybsza Zamiast pozycjonowania gram na gitarze i polecam kurs gitarowy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Daniel Kędzierski Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 jak metoda calosci to tak jak MMP napisal mbstring jest OK. Jak chcesz znaki to moze jak kolega wyzej uzyj str_replace. Znak zmieniany -- Znak zmieniony $tekscik = str_replace('\xC5\x9A', "ą", $tekscik); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mion Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 NIe rozumiem dlaczego nie możesz zastosowac $wyjscie=iconv('iso-8859-2','utf-8',$wejscie); ? Moze nie masz tej biblioteki w PHP ? Sprawdz w phpinfo() powinno być : iconv I jeszcze jedno pamiętaj o wlasciwym zapisie - kodowaniu zapisywanego pliku Enconding: UTF-8. Jeśli w edytorze zapiszesz jako ANSI [a to jest ustawione standardowo] to masz krzaki u klienta Sam kiedys przez to wlosy wyrywalem, bo o tym jeszcze nie wiedzielem. Jesli jest to plik php mozesz dla wysylac nagłowek informujecy klienta o kodowaniu danych dokumentu <?php header("Content-Type: text/html; charset=utf-8"); // dlaszy kod ?> HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BlackHat Opublikowano 9 Sierpnia 2007 Autor Udostępnij Opublikowano 9 Sierpnia 2007 A jak wygląda to? <?php set_time_limit(0); mysql_connect("localhost","user","passs"); mysql_select_db (database); function iso2uft8($string) { $iso2utf = array( "\xb1" => "\xc4\x85", "\xa1" => "\xc4\x84", "\xe6" => "\xc4\x87", "\xc6" => "\xc4\x86", "\xea" => "\xc4\x99", "\xca" => "\xc4\x98", "\xb3" => "\xc5\x82", "\xa3" => "\xc5\x81", "\xf3" => "\xc3\xb3", "\xd3" => "\xc3\x93", "\xb6" => "\xc5\x9b", "\xa6" => "\xc5\x9a", "\xbc" => "\xc5\xba", "\xac" => "\xc5\xb9", "\xbf" => "\xc5\xbc", "\xaf" => "\xc5\xbb", "\xf1" => "\xc5\x84", "\xd1" => "\xc5\x83" ); return strtr($string, $iso2utf); } ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mion Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 unster napisał(a): A jak wygląda to?Masz podane sposoby wiec czego jeszcze nie rozumiesz !Nie odbierz mnie złośliwie, ale proponuje odpocznij sobie od PHP, bo takie kodowanie po omacku na niewiele sie zdaje HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BlackHat Opublikowano 9 Sierpnia 2007 Autor Udostępnij Opublikowano 9 Sierpnia 2007 wiesz nie jestem hmm koderem, a robie to bo po prostu muszę, a nikt nie ma mi kto pomoc? ;] też nie zmienisz żarówki jak ci się przepali? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mkr Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 Jak mi rure wywala to dzwonie po hydraulika. Jak żarówkę to sam potrafie wymienić... Nie wiesz jak, nie potrafisz wytłumaczyć, albo dajesz za mało danych, żeby można było Ci pomóc to nie oczekuj cudów. Monitorowanie Google - Monitoring Mobilny Monitoring regionalny!Proxy dla systemów Monitoringu w wyszukiwarkach Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TTSEO Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 Pytanie dla znawców Eksport bazy, potem jakis konwerter a la https://www.optymalizacja.com.pl/konwerter/ potem import. Czy to będzie działać? Wiem, że teoretycznie są lepsze sposoby, ale jak autor tematu nie jestem na TY z php i mysql... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fidma Opublikowano 9 Sierpnia 2007 Udostępnij Opublikowano 9 Sierpnia 2007 TTSEO napisał(a): Pytanie dla znawców Eksport bazy, potem jakis konwerter a la https://www.optymalizacja.com.pl/konwerter/ potem import. Czy to będzie działać? Wiem, że teoretycznie są lepsze sposoby, ale jak autor tematu nie jestem na TY z php i mysql... Warning: move_uploaded_file(/home/erbit3/public_html/optymalizacja/tmp/baza.sql-431057236-84.205.26.16._) [function.move-uploaded-file]: failed to open stream: No such file or directory in /var/www/optymalizacja.com.pl/www/konw/konwe.php on line 20 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpyELbWm' to '/home/erbit3/public_html/optymalizacja/tmp/baza.sql-431057236-84.205.26.16._' in /var/www/optymalizacja.com.pl/www/konw/konwe.php on line 20 Warning: file(/home/erbit3/public_html/optymalizacja/tmp/baza.sql-431057236-84.205.26.16._) [function.file]: failed to open stream: No such file or directory in /var/www/optymalizacja.com.pl/www/konw/konwe.php on line 21 Warning: fopen(/home/erbit3/public_html/optymalizacja/tmp/baza.sql-431057236.txt) [function.fopen]: failed to open stream: No such file or directory in /var/www/optymalizacja.com.pl/www/konw/konwe.php on line 24 Warning: fputs(): supplied argument is not a valid stream resource in /var/www/optymalizacja.com.pl/www/konw/konwe.php on line 28 Warning: fclose(): supplied argument is not a valid stream resource in /var/www/optymalizacja.com.pl/www/konw/konwe.php on line 31 ERROR: Plik nie odnaleziony. /home/erbit3/public_html/optymalizacja/tmp/baza.sql-431057236.txt Chyba nie działa 404.tf Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Zarchiwizowany
Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.