Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]konwersja znaków z ANSI do utf-8
webmaster1989
post 25.10.2010, 14:22:17
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 31.08.2010

Ostrzeżenie: (0%)
-----


Witam.Chcę odczytać plik ANSI,zmienić jego zawartość dopisując do każdej lini <br> i zapisać jako utf-8.Jak to zrobić? jakiś przykład?
Go to the top of the page
+Quote Post
wookieb
post 25.10.2010, 14:26:16
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




iconv
foreach lub sprytny array_map


--------------------
Go to the top of the page
+Quote Post
webmaster1989
post 25.10.2010, 14:59:55
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 31.08.2010

Ostrzeżenie: (0%)
-----


ALE PROSZĘ A MALUTKI PRZYKŁAD.PONIEWAŻ PRÓBOWAŁEM TEGO I NIC.MALUTKI PRZYKŁAD KTÓRY OBRAZUJE ODCZYTANIE PLIKU ANSI,DODANIE DO KOŃCA LINI <BR> I ZAPISANIE JAKO PLIK UTF.Z GÓRY DZIĘKI

Próbowałem wpisać $string=iconv('UTF-8', 'ANSI', $string); ale pokazuje mi się komunikat:
Wrong charset, conversion from `UTF-8' to `ANSI' is not allowed


Ten post edytował webmaster1989 25.10.2010, 15:00:32
Go to the top of the page
+Quote Post
d3ut3r
post 25.10.2010, 15:08:00
Post #4





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

Ostrzeżenie: (0%)
-----


ANSI z tego co mi wiadomo nie jest standardem kodowania, to jest organizacja. Może chodzi Ci o ASCII ? jeżeli tak to iconv powinno mieć odwrotnie argumenty czyli najpierw z jakiego kodowania konwertujesz a później na jakie.


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
CuteOne
post 25.10.2010, 15:09:35
Post #5





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


$str = iconv("UTF-8","ISO-8859-2",$text); //- z utf na anscii
$str = iconv("ISO-8859-2","UTF-8",$text); // odwrotność


Ten post edytował CuteOne 25.10.2010, 15:11:49
Go to the top of the page
+Quote Post
webmaster1989
post 25.10.2010, 15:13:15
Post #6





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 31.08.2010

Ostrzeżenie: (0%)
-----


sprawdze.Ponieważ ja mam plik zapisany w notatniku.I gdy zapisuje jako .pokazują mi się kodowania UTF-8, i jest także ANSI .
Go to the top of the page
+Quote Post
Tomplus
post 25.10.2010, 15:20:52
Post #7





Grupa: Zarejestrowani
Postów: 1 872
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


ANSI to standard kodowania zgodny z ISO-8859 więc nie można zapisać

$string=iconv('UTF-8', 'ANSI', $string);

bo ANSI to nie typ kodowania, tylko standard, więc wystarczy wpisać zamiast ANSI -> ISO-8859-2 i powinno być ok.
Go to the top of the page
+Quote Post
webmaster1989
post 25.10.2010, 15:23:45
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 31.08.2010

Ostrzeżenie: (0%)
-----


$string=iconv("UTF-8","ISO-8859-2", $string);
nie działa mi :-( Ukazuje się błąd:
Detected an illegal character in input string (wykryto niedozwolony znak w ciągu)

Poprostu mam dla przykładu plik php który odczytuje zwykły plik ,napisany w notatniu ,zapisany jako UTF-8.
<?php
$danez= Array();

$i=0;

$file ="samplet.txt";
$size = filesize($file);

$fp = fopen($file, "r");

$string=fread($fp,$size);
$string=iconv("UTF-8","ISO-8859-2", $string);
echo $string;



?>

I chce go skonwertować na ANSI.POnieważ gdy mam zapisany jako UTF-8 .PLIK PHP ODCZYTUJE MI TAKIE WARTOŚCI:
EF BB BF ..plus tekst napisany.a ANSI odczytuje mi odrazu ciag znaków.

te 3 hexy mi są nie potrzebne(może wiecie po co są te 3 hexy?).I chce je zlikwidować bez użycia strreplace .

MAM ZAPISANY TEKST W NOTATNIKU W UTF-8 I GDY CHCE GO PRZEROBIĆ NA TE "ISO-8859-2".WYWALA MI BŁĄD.
DLACZEGO? CZY NOTATNIK JEST DO KITU

Ten post edytował webmaster1989 25.10.2010, 15:28:06
Go to the top of the page
+Quote Post
Tomplus
post 25.10.2010, 15:40:14
Post #9





Grupa: Zarejestrowani
Postów: 1 872
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Nie dziwię się, jak chcesz skonwertować zupelnie co innego.

użyj $string = file_get_contents($file);
i dopiero taki sklonwertowany do ISO tekst zapisz do pliku.

Go to the top of the page
+Quote Post
webmaster1989
post 25.10.2010, 15:44:58
Post #10





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 31.08.2010

Ostrzeżenie: (0%)
-----


użyłem $string=iconv('UTF-8','ISO-8859-2//IGNORE', $string); i działa:-)

Ale nadal chce wiedzieć problem.Ponieważ użyłem :
file_get_contents i lipa
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2025 - 05:52