establecer la codificación utf-8 para fread fwrite

hola yo uso este código de lectura y escritura de texto en el archivo .

$d = fopen("chat.txt", "r");
 $content=fread($d,filesize('chat.txt'));
 $bn=explode('||',$content);
 foreach($bn as $bn)
 echo $bn.'<br>';

y

$d = fopen("chat.txt", "a");
 $c=$_GET['c'];
 if($c=='') die();
 fwrite($d,$c.'||');
 fclose($d);

pero =solo para ie= utf-8 caracteres show «?» o «[]» . a mi la codificación Utf-8 Sin BOM
y yo uso este

header('Content-type: text/html; charset=UTF-8');

y Este :

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

mi defult codificación en php.ini es utf-8, pero sin embargo, muestran ? .
veo chat.txt archivo y carácter de derecho en el archivo, pero cuando con el ie guardar en archivo Y cuando muestran en la página show «?» en lugar de a la derecha .

  • Para cada uno ($millones us $bn) sobrescribe $bn, por lo que solo se ejecute como un heigharcy
  • cambio bn con bn1 pero no diferent
InformationsquelleAutor behzad n | 2012-05-18

3 Kommentare

  1. 10

    Utilizar esta función en lugar de fopen mientras que la lectura pero no de escritura

    function utf8_fopen_read($fileName) { 
        $fc = iconv('windows-1250', 'utf-8', file_get_contents($fileName)); 
        $handle=fopen("php://memory", "rw"); 
        fwrite($handle, $fc); 
        fseek($handle, 0); 
        return $handle; 
    } 

    fuente

    http://www.php.net/manual/en/function.fopen.php#104325

    En su caso

    $d = utf8_fopen_read("chat.txt", "r");
     $content=fread($d,filesize('chat.txt'));
     $bn=explode('||',$content);
     foreach($bn as $bn)
     echo $bn.'<br>';

    Probar este

    $content = iconv('windows-1250', 'utf-8', file_get_contents($fileName));
    $bn = mb_split('||',$content);
    foreach($bn as $b)
         echo $b.'<br>';
    • No más de rodadura sesión de depuración… lo Siento.
  2. 0

    El TXT guardado con utf8 codificar? Usted necesita asegurarse de que el TXT de la codificación es utf-8, de lo contrario será necesario utilizar la función utf8_encode

    • puedo usar utf8 no trabajo y el cambio a la norma ansi un uso utf8_encode y, sin embargo, no trabajo
    • puedes publicar una salida con el carácter incorrecto?
    • Creo que su problema es que los datos se re-codificado en utf8 otra vez, trate de usar utf8_decode en lugar de utf8_encode. Esto sucede a veces
    • si yo no uso utf8 espectáculo como este [pic] (up.vatandownload.com/images/04pbtwwrpy6vi7xk5u4.jpg)
  3. 0

    Puede codificar la cadena está saliendo, $bn en este caso, el uso de utf8_encode() como este:

    $d = fopen("chat.txt", "r");
    $content=fread($d,filesize('chat.txt'));
    $bn=explode('||',$content);
    foreach($bn as $bn)
    echo utf8_encode($bn).'<br>';

    Inténtelo y vea si todavía extraño.

    • Si usted está viendo este tipo de cosas, a continuación, la corrección más probable sería la de asegurarse de que el contenido del archivo que está escrito es codificado en utf8. Además, echa un vistazo a la respuesta anterior por @Venu. La codificación de caracteres problemas son siempre una molestia para revisión. La buena suerte.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea