1

csv ファイルに「æ」、「å」などの特殊文字が含まれています。ファイルを読み取って印刷すると、ファイル内の特殊文字が「�」に変換されます。ページエンコーディングをUTF-8とISO 8859-1に設定してみました。しかし、これらのどれも役に立ちませんでした。

smb は解決策をアドバイスできますか?

4

1 に答える 1

4

次のように元のエンコーディングを検出して変更する必要があると思います(phpを使用している場合):

  <?php
        header( "Content-Type: text/html; charset=utf-8");
        $csvContent = file_get_contents( $fileName );
        $encoding = mb_detect_encoding( $csvContent, 
                                        array("UTF-8","UTF-32","UTF-32BE","UTF-32LE","UTF-16","UTF-16BE","UTF-16LE"), 
                                        TRUE );

        if( $fileEncoding !== "UTF-8" ) {
             $csvContent = mb_convert_encoding($csvContent, "UTF-8", $fileEncoding );
        }

        foreach( explode( PHP_EOL, $csvContent ) as $item ) {
           var_dump($item );
        }
 ?>
于 2013-10-26T12:11:09.807 に答える