csvファイルを読み込む際に文字化けが発生する問題の解決方法
- PHPでCSVを読み込んで名簿を作成していますが、一部の文字が文字化けしてしまいます。原因と解決方法について教えてください。
- CSVファイルを読み込む際に文字化けが発生しました。プログラムやファイルの文字コードの設定を確認し、適切な文字コードに変換することで問題を解決することができます。
- PHPで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で書き出しています。
- PHP
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
理由はわかりませんが $name = strtr($name, "