※ ChatGPTを利用し、要約された質問です(原文:phpで読み込んだcsvが文字化けします)
csvファイルを読み込む際に文字化けが発生する問題の解決方法
このQ&Aのポイント
PHPでCSVを読み込んで名簿を作成していますが、一部の文字が文字化けしてしまいます。原因と解決方法について教えてください。
CSVファイルを読み込む際に文字化けが発生しました。プログラムやファイルの文字コードの設定を確認し、適切な文字コードに変換することで問題を解決することができます。
PHPでCSVを読み込んで名簿を作成していますが、一部の文字が正しく表示されません。文字コードの設定や文字変換に問題がある可能性があります。正しい文字コードを設定し、文字変換を行うことで解決することができます。
PHPでCSVよ読み込んで名簿を作っています。
出力まではうまくいったのですが、なぜか一字だけ文字化けしてしまいます。(「務」→「冶」になってしまいます)
普段あまりプログラムはしないので、原因がわからず困りはてております。よろしくお願いいたします。
PHP部分の記述は以下になります。
―――――――――――――――――――――――――――――――――――
<?php
$fname = "csv/meibo.csv";
$file = fopen($fname, "r");
$nowrap = "nowrap=\"nowrap\"";
$tcent = "class=\"center\"";
$tbg = "class=\"even\"";
while (list($name, $post, $add, $add2, $tel, $http, $url, $mail) = fgetcsv($file, 1000, ",")){
$name = strtr($name, "﨑", "崎");
$add2 = strtr($add2, "﨑", "崎");
$tline ++;
if($tline % 2 == 0){
echo "<tr $tbg>\n";
}else{
echo "<tr>\n";
}
echo "<td $nowrap>$name</td>\n";
echo "<td $tcent>$post</td>\n";
echo "<td>$add<br />$add2</td>\n";
echo "<td $tcent>$tel</td>\n";
if($http == "http://"){
echo "<td $tcent><a href=\"$http$url\" target=\"_blank\"><img src=\"img/common/img_hp.gif\" alt=\"HPへ\" width=\"16\" height=\"16\" /></a></td>\n";
}
else
{
echo "<td $tcent> </td>\n";
}
echo "<td>$mail</td>\n";
echo "</tr>\n";
}
fclose($file);
?>
―――――――――――――――――――――――――――――――――――
PHP4を利用。
.phpのcharsetはShift_JISで、同じくShift_JISで保存しています。
CSVファイルはエクセルで作りShift_JISで書き出しています。