重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

すみません重複になるんですが、昨日ご質問させていただいた内容では理解していただけないかと思い再度ご質問させていただきます。

文字化けといいましたが、クライアントから、―(全角ダッシュ)を含むデータを受け取り、一度データベースに格納して、そして抽出する。そうすると他の日本語は大丈夫なんですが、全角ダッシュ以降が文字化けしてしまうのです。

phpとmysqlを使っていて、ためしにスクリプト内に

print "―";
とするとエラー。

全角ダッシュだけを文字列からstr_replace関数などで置き換えようとしても、エラーがでて全角ダッシュを認識してくれません。

どなたか解決策をご存じないでしょうか?宜しくお願いします。

A 回答 (1件)

入出力のエンコードが怪しいですね。



mb_http_output("SJIS");
mb_http_input ("SJIS");//DBのエンコード次第で変更
mb_internal_encoding("EUC-JP");
ob_start('mb_output_handler');

print "―あいうえお";

などとしてみてはいかがでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとう御座います。エンコード関連にはさっぱりで。。
参考にします。

いろいろ試した結果、全角ダッシュをphpで出力するには"―\"ってしてみると表示できました。なんなんでしょうかこれは。。

認識できたのでstr_replaceで全角ダッシュを"ー"にして一日悩ましてくれた全角ダッシュ問題を乗り越えれました。ありがとうございます。

お礼日時:2006/05/31 13:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!