2

このコードは、タブ区切りの txt ファイルをデータベースからディレクトリに書き込みます。ñ 、 é などの英語以外の文字を取得できないため、文字エンコーディングに問題があります。どうすればエンコーディングを正しく取得できますか? UTF-8 を使用する必要があることはわかっていますが、コードのどこに収まるのでしょうか? 文字はデータベース (latin1_swedish_ci) では問題ないように見えますが、ファイルでは問題ありません。ありがとう

<?
     @chmod($export_txt, 0777);
    $fe = @fopen($export_txt."/export.txt", "w+");
    if($fe){           
        $somecontent = "";
        $fields_count = 0;           
        // fields headers
        $db->query($sql_view);
        if($row = $db->fetchAssoc()){
            foreach($row as $key => $val){
                if($fields_count++ > 0) $somecontent .= "\t";
                $somecontent .= $key;
            }
        }
        $somecontent .= "\r\n"; 

        $db->query($sql_view);
        while($row = $db->fetchAssoc()){
            $fields_count = 0;
            foreach($row as $key => $val){
                if($fields_count++ > 0) $somecontent .= "\t";
                $somecontent .= $val;                                                                          
            }
            $somecontent .= "\r\n"; 
        }  
        // write some content to the opened file.
        if (fwrite($fe, $somecontent) == FALSE) echo 'file_writing_error'." (export.txt)"; 
        fclose($fe);           

    }
    ?>
4

1 に答える 1

0
fwrite($fe, utf8_encode($somecontent))
于 2012-07-04T10:55:59.440 に答える