1
私はcsvをインポートするこの機能を持っています。PHPで正しいエンコードcsvにアーカイブできません
public function csv_to_array($filename, $delimiter = ',', $enclosure = '"')
{
$header = null;
$data = array();
if (($handle = fopen($filename, 'r')) !== false)
{
$all = 0;
while(($row = fgetcsv($handle, 0, $delimiter, $enclosure)) !== false)
{
$i=0;
foreach($row as $string) {
$row[$i] = utf8_encode($string);
$i++;
}
if(!$header) {
$header = $row;
}else{
$data[] = array_combine($header, $row);
}
$all++;
}
fclose($handle);
}
return $data;
}
ANSIエンコーディングで提供されるファイルの中には、str_getcsvまたはfgetcsvでは機能しないものがあります。 は私も
mb_convert_encoding($line, 'Windows-1252', 'UTF-8');
かのiconv、はutf8_encodeとして最初にそれらを変換しようとした、...他のプロジェクトで
私はこの問題についてつまずいたことはありません。通常、上記のうちのいくつかがこのトリックを行いますが、今回は行いません。システム全体とデータベースはutf-8に設定されています。どのように私の問題を解決するための既知の回避策はありますか?私はあなたが右のエンコーディング機能のいずれかを使用していない
問題文字はいくつですか?少数または多く? –
私はこの問題も抱えていましたが、前にutf8かどうかを確認しました。['snippet'](https://git.io/vicjj) – CodeBrauer
' ANSI Encoding'があまりにも一般的です。入力エンコーディングが 'Windows-1252'であることを絶対に確かめる必要があります。 – apokryfos