0

ExcelスプレッドシートからPHP配列に情報を取得しようとしています。問題は、スプレッドシートのエントリに á や ž などの特殊なアクセント付き文字が含まれていることです。

最初に、スプレッドシートを .txt ファイルとしてエクスポートしました。文字エンコーディングを UTF-8 に設定するために、ツール --> Web オプションをクリックするようにしました。

メモ帳またはメモ帳 ++ で .txt ファイルを開くと、アクセント付きの文字の多く (すべてではない) が「?」に置き換えられました。

例: ズラタン イブラヒモビッチ ----> ズラタン イブラヒモビ?

ただし、一部のキャラクターは影響を受けませんでした: カルロス・テベス

さらに、.txt ファイルを PHP 配列にインポートしようとすると、残りの文字もクエスチョン マークに変わりました。

次のコードは、リストの最初の 4 つの名前を出力するためのものです。

$file = fopen("players/player_names.txt", "r") or exit("Unable to open file!");

$line_array = array();
$x = 0;
while(!feof($file))
{
array_push($line_array, fgets($file));
}
fclose($file);

$name_array = array();

for ($i =1; $i < 4; $i++ )
{
echo $line_array[$i];
echo "<br/>";   
}

ただし、次のように表示されます。

セルヒオ・アゲエロ・ズラタン・イブラヒモビ? カルロス・テベス ルイス・スレス

通常の疑問符「?」Excel から .txt への転送で .txt ファイルが生成され、.txt ファイルを PHP にインポートするときに残りのアクセント付き文字 '�' の黒い背景の疑問符が生成されます。

PHP ファイルの文字エンコーディングが次のように UTF-8 に設定されていることを確認しました。

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

どこが悪いの!?

事前にご協力いただきありがとうございます:)。

4

1 に答える 1