![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam, mam pytanko odnośnie kodowania UTF-8 i ANSI. Dokładniej chodzi mi o taki fakt.
Wrzuciłem na serwer dokument tekstowy dor1.txt, zapisałem go z kodowanie UTF-8 tak aby mieć polskie znaki, jednak kiedy przy pomocy flasha i PHP modyfikuje treść tekstu na stronie i zapisuje, na serwerze plik zmienia swoje kodowanie na ANSI i wyskakują krzaki zamiast polskich znaków. plik php wygląda tak: Kod: <?php // zmienna $dane, która będzie zapisana // może także pochodzić z formularza np. $dane = $_POST['dane']; $dane = "dor1=$tekst"; // przypisanie zmniennej $file nazwy pliku $file = "dor1.txt"; // uchwyt pliku, otwarcie do dopisania $fp = fopen($file, "w"); // blokada pliku do zapisu flock($fp, 2); // zapisanie danych do pliku fwrite($fp, $dane); // odblokowanie pliku flock($fp, 3); // zamknięcie pliku fclose($fp); ?> Czy coś trzeba dopisać żeby plik po modyfikacji nie zmieniał swojego kodowania? ponieważ jestem nowy i totalnie blady w tematyce php prosilbym o latwe rozwiazanie. Szukalem i probowalem wiele rozwiazan, niestety zadne nie przynioslo efektu. pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Kodowanie samo się nie zmienia - informacja o jego rodzaju nie jest nigdzie zapisywana, więc nie ma czegoś takiego, jak na serwerze plik zmienia swoje kodowanie na ANSI. Mam kilka potencjalnych przyczyn:
* Twój edytor tekstu tylko udaje, że zapisuje tekst jako UTF-8 - możesz np. zmienić kodowanie, ale znaki już wpisane nie są automatycznie konwertowane. * Do pliku dopisujesz tekst, który nie jest zapisany w kodowaniu UTF-8 (przy okazji - dopisywanie do pliku to jest "a", a nie "w"). * Nie informujesz poprawnie przeglądarki o tym, że ma kodowanie UTF-8. Pamiętaj, że nie wystarczy dopisać tego w sekcji META, ale konieczne jest wysłanie tego w nagłówku HTTP "Content-type", np.
Próbowałeś wyświetlić niezmodyfikowany plik? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
tak próbowałem wyświetlić plik niezmodyfikowany i wszystko było cacy. Polskie znaki są.
a ogólnie to problem pojawił się, hmm, nawet sam nie wiem kiedy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wcześniej wszystko działało, ale wtedy plik swf do którego wczytuje się dany tekst był zapisany w playerze 6, po zmianie na 8 zaczęły się jazdy. Na forum flasha dostałem info że player 6 nie potrzebował dopisywać tego kodowania. a w przypadku 8 musze pozmieniać plik php. Dostałem też info żeby zrobić coś z iconv(), ale nie umiałem sobie poradzić:) pozdro |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:45 |