Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z iconv, zwraca pusty wynik
slawny
post
Post #1





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


  1. <?php
  2. $tablica = file("import.txt");
  3. for ($i=0; $i<count($tablica); $i++)
  4. {
  5. $dane.=$tablica[$i];
  6. }
  7. $dane = iconv("UTF-8", "cp1250", $dane);
  8. $plik = fopen('ex.txt', 'w');
  9. fwrite($plik, $dane);
  10. fclose($plik);
  11. ?>


co tu jest nie tak że zwraca pusty plik. Jak zakomentuje linie z iconv i wyświetle dane to wszystko jest ok
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
wookieb
post
Post #2





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




Po pierwsze nie wiem po co tam kombinuejsz z petlami.
Od pobrania danych masz http://php.net/file_get_contents
do zapisania http://php.net/file_put_contents

przepisz kod uzywajac tych funkcji i wtedy zobacz wynik.

UWAGA DO POSTUJACYCH! Wiem o fopen, fwrite, itp ale podaje mu najprostsza droge realizacji zadania wiec nie pisac o tych funkcjach.


--------------------
Go to the top of the page
+Quote Post
slawny
post
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


napisałem tak, też zwraca pusty plik

  1. <?php
  2. $z = file_get_contents('import.txt');
  3. $dane = iconv("UTF-8", "cp1250", $z);
  4. $do = file_put_contents('ex1.txt', $dane);
  5. ?>
Go to the top of the page
+Quote Post
wookieb
post
Post #4





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




Włącz sobie pełne raportowanie błędów.
  1. <?php
  2. ?>

Mi wszystko działa.


--------------------
Go to the top of the page
+Quote Post
slawny
post
Post #5





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


Włączyłem i nic wyrzuca. sciana.gif
Go to the top of the page
+Quote Post
sowiq
post
Post #6





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


[edit]
A co masz na myśli pisząc 'nic nie zwraca'? Plik się nie tworzy? Jakie masz prawa dostępu do katalogu, w którym go tworzysz?

Jak nic Ci nie wyrzuciło przy error_reporting(E_ALL), to może po prostu plik tworzy się w innym katalogu niż myślisz?

Ten post edytował sowiq 5.06.2009, 14:06:27
Go to the top of the page
+Quote Post
batman
post
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




phpinfo() i sprawdź, czy masz włączone iconv.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
wookieb
post
Post #8





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




A to jest na 100% cały twój plik skryptu? I czy ten kod na pewno się wykonuje>


--------------------
Go to the top of the page
+Quote Post
slawny
post
Post #9





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


@batman: conv support enabled- więc ok

@sowiq: plik się tworzy ale pusty. Tak jak pisałem jak zakomentuje iconv to utworzy plik i wypełni go danymi

@wookieb: moj skrypt i wykonywac się wykonuje

Moja propozycja: może wyśle komuś na maila ten plik, odpali ten skrypt u siebie i odeśle mi przekonwertowany?
Go to the top of the page
+Quote Post
batman
post
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Jedyne co pozostało do sprawdzenia to:
  1. <?php
  2. echo $dane;
  3. $dane = iconv("UTF-8", "cp1250", $dane);
  4. echo $dane;
  5. ?>
Jeśli drugie echo będzie puste, to znaczy, że coś nie tak jest z kodowaniem wejściowym lub wyjściowym. Zmień cp1250 na np ISO-8859-2 i sprawdź czy działa.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
slawny
post
Post #11





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


@batman: nic to nie zmieniło. Znów pusty plik.
Go to the top of the page
+Quote Post
erix
post
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A nie masz gdzieś błędów składniowych?

Spróbuj najpierw mb_detect_encoding" title="Zobacz w manualu PHP" target="_manual, co zwraca?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
batman
post
Post #13





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(slawny @ 5.06.2009, 15:28:25 ) *
@batman: nic to nie zmieniło. Znów pusty plik.
Nie pytałem się co jest w pliku, tylko co jest w drugim echo. Swoją drogą możesz zmienić echo na var_dump, wówczas będzie wiadomo, co iconv zwróciło.
Jak już sprawdzisz co wyświetla var_dump, to zmień kodowanie na CP1250 (pisane z dużych liter).


~erix mb_detect_encoding jest jedną z najbardziej zawodnych funkcji, z których miałem okazję korzystać.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
slawny
post
Post #14





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


string(0) ""
Go to the top of the page
+Quote Post
batman
post
Post #15





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




No to już coś mamy. Najbardziej prawdopodobna przyczyna problemów to niepoprawne kodowanie ciągu wejściowego. Nie jest to UTF-8.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
slawny
post
Post #16





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


Nie no sprawdzałem. Jest utf-8, a gdyby nie było to dla pewności zapisałem w utf-8.
Nie wiem czemu się tak działo-dzieje.
Problem tymczasowo rozwiązał plik od @wookieb.
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 Aktualny czas: 21.08.2025 - 16:11