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で書き出しています。
No.1ベストアンサー
- 回答日時:
理由はわかりませんが
$name = strtr($name, "", "崎");
が引っかかってるっぽいです
$name = str_replace( "", "崎",$name);
または
$name = strtr($name, array("" >= "崎"));
これだとちゃんと「務」で表示されました
koke29様、ありがとうございます!
PHP4だからダメなのかなと、PHP5の環境もつくって試してみたのですが、今度はさらに文字化けしてまた一苦労していました。
ずっとエンコードの問題だと思っていたのですが、文字置換の部分が影響していたのですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで入力フォームでデータを確...
-
foreachがうまく動かない
-
ファイル名を変更してアップロ...
-
$a = ( $b == $c ) ? $d、 この...
-
XMLをツリー形式で表示
-
if文のなかで
-
フォームでのリセットを使う方法
-
PHPでURLにジャンプするには?
-
POSTデータのNAME属性をVALUEに...
-
ラジオボタンを押すと、表示が...
-
PHPでCookieを使った訪問回数に...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPでユーザー情報を入力して簡...
-
セッションを使わずに遷移先画...
-
エラーを元の画面に表示させるには
-
チェックボックスの必須項目指定
-
チェックボックスがチェックさ...
-
PHP・MYSQLで複数のチェックボ...
-
JavaScript変数をPHPへ渡す
-
配列をhiddenで
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複を防ぐ記述について教えて...
-
VBA で、スペースを含むファイ...
-
PHPで入力フォームでデータを確...
-
Flaskでサーバー立ち上げに関して
-
phpで変数を使ってcopyできない
-
ファイル名を変更してアップロ...
-
PHPからHTMLへの変数の受け...
-
$_SESSIONに渡した後はそのまま...
-
テキストボックスの値を取得したい
-
openCVのトラックバーについて
-
scanfでの読み込み文字数制限
-
アップロードファイル名の文字化け
-
PHP MySql 画像を取得
-
Fortranでのファイル名操作につ...
-
ポインタ配列をfscanfで読み込...
-
UPDATEできない
-
WordのIDataObject::GetData呼...
-
C# 同じ処理をまとめたい
-
POSTの項目に追加
-
イタリア人がCatherineと聞いた...
おすすめ情報