Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z przepisywaniem pliku
Forum PHP.pl > Forum > PHP
timon27
Jak w temacie.
Pomóżcie mi - nie wiem co zrobić z TYM plikiem. Próbuje go przepisać i bez przerwy wyskakują mi krzaczki. Skróciłem go do jednego słowa i dalej błędy. Opcja 'otwórz, skopiuj zawartość do nowego dokumentu tekstowego' mnie nie satysfakcjonuje (choć działa), gdyż chciałbym konwertować takie pliki automatycznie.

Kod test.php?nazwa=111:
Kod
<?php
$filename = "test.csv";
$pom=file($filename);

$nazwa=$_GET['nazwa'];

$fr = fopen("test_$nazwa.txt", "w");
fwrite($fr,"Hello $pom[0]");
fclose($fr);

echo("<a href=\"test_$nazwa.txt\">test_$nazwa.txt</a><br>");
?>


Kod test.csv:
Kod
World


Wynik test_111.txt:
Kod
效汬World


Dodatkowo ten plik (test.csv) w hexie:
Kod
FF FE 57 00 6F 00 72 00 6C 00 64 00

Czyli dwa dodatkowe znaki na początku, i co druga dodatkowa 'spacja',
erix
BOM?
wookieb
Cytat(erix @ 31.12.2009, 11:48:17 ) *
BOM?


Nie ma to jak treściwa odpowiedź...
Chodzi oczywiście o BOM w plikach o kodowaniu utf-8
Problem polegał na czymś innym. Plik csv był zakodowany w utf-16 a powinien w utf-8. Przekonwertuj na utf-8.

Ewentualnie zassaj http://wookieb.pl/test.csv
timon27
hmm spróbowałem z:
Kod
$pom[0] = mb_convert_encoding($pom[0], "UTF-8", "UTF-16");

i wyszło mi:
Kod
Hello �orld

czyli tylko na początku pliku jest błąd, a to da się obejść jakimś wyjątkiem.

thx
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.