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');
どこが悪いの!?
事前にご協力いただきありがとうございます:)。