• ベストアンサー

文字化け

PHPのフォームからWindows環境で文字を入力し、送信すると、 送信された文字の間にバックスラッシュが付いてしまうことがあります。 Macからの入力ではそんなことはありません。 Windowsの文字コードの設定のせいでしょうか。 考えられる原因と対処法を教えてください。 お願いします。

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#17399
noname#17399
回答No.1

多分これ系じゃないでしょうか↓

参考URL:
http://www.syon.co.jp/syontech/tech003.html
hana_Z
質問者

お礼

どうも、ありがとうございます。 早速検証してみて、またご報告します。

関連するQ&A

  • フォーム処理中の文字化け

    質問させていただきます。 フォーム処理中に、能という文字などにバックスラッシュがついてしまい、困っています。 フォーム→フォーム処理内容確認→ログファイル書き込みというスクリプトを作成したのですが、フォーム入力後、フォーム処理内容確認の段階では能などにバックスラッシュはついていません。 しかし、ログファイルに書き込んだ後、ログファイルを確認してみると 能の後にバックスラッシュがついてしまいます。 これは、ログファイルの文字エンコードの問題なのかとも思ったのですが、何をしてみても取り除くことはできませんでした。 このバックスラッシュを取り除く方法を教えてもらえないでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • この文字化け文字を解読できますか

    この文字化け文字を解読できますか BF\x82\xE5\x82\xC4\x82\xB7 本来の文字コードとは間違って認識されているのでしょうか? phpのメール送信フォームからメールを送信した際に 送信先がブログ記事投稿用メールアドレスになるのですが 投稿した記事の本文がこのように文字化けしてしまいます。 送信先がケータイやPCの場合は文字化けしないのですが。。 理由の検討のつく方いらっしゃいましたら ぜひ教えていただければ幸いです。 ●●という文字コードが▲▲という文字コードとして 認識されているのではないか、など。。。 アバウトなご意見でもかまいません。 意味不明でしたら加筆修正しますのでよろしくお願いします。

    • ベストアンサー
    • PHP
  • 受信メールの文字化け

    windows 7 (office 2010) からwindows10に替えたくなかったのですが、ある日、ことわりもなくPCにダウンロードが始まり、仕方なくアップグレードなってしまいました。(電源を切れば良かったのでしょうが・・・) さて、その後、windows live mail を利用していますが、文字化けして読めないメール届きます。(受信メールすべてが文字化けしているのではありません)、送信済トレイを開くとこちらも送信したメールが文字化けしています。困っています。どうすればよいのか対処法を教えていただきたいのです。よろしくお願い致します。

  • MACのvimでの¥マーク入力について

    教えてください。 MACのvimでPHPのプログラミングを行おうとしていますが、 ¥マークを入力するには、ターミナルの環境設定で言語環境をShiftJISに設定すると optionボタン+Yのキーで¥マークを表示することができるみたいですが、 逆に日本語文字列を入力すると文字化けしてしまいます。 UTF-8に変更すれば、文字化けしないのですが、 逆に¥マークが入力できなく、バックスラッシュになります。 UTF-8で、やはりバックスラッシュで書いていくものなのでしょうか? MAC初心者で、vimを使ったことがありません。 よろしくお願いします。

  • phpMyadminに直接入力したら文字化け

    案の定、??????になってしまいました。 PHPで作ったフォームから入力した文字ではなく、phpMyAdiminから 直接入力したら文字化けしました。 おそらく入力モードがSHIFT-JISなんだと思います。 でも、それを変更できるモードがあるのでしょうか? 初期画面の文字コードは「utf8-unicode-ci」としています。 今回はutf8でPHPプログラムするつもりです。 それらしいunicode-ciを選択しました。 直接入力して、 どうすれば文字化けしないで解決できるでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • フォームで文字化けしてしまって....

    googleで検索しても答えが見つからなかったので、皆様のお力をお貸しいただければと。 携帯サイト用のフォームをつくってみたのですが、文字化けを起こしてしまい、解決法が分からずに困っております。 文字コードをEUCにしてソースも変えると【au】では HTML(フォーム1ページ目の入力画面)も、処理後(入力した内容を確認する画面)も化けてしまいます。 ※docomoとsoftbankはオールクリアでした。 また 文字コードをShift_JISにしソースも変えると HTML(フォーム1ページ目)は3キャリア共化けません。処理後(確認画面)はdocomoとsoftbankで文字化けします。 些細な事でもかまいません。 アドバイスいただけたら幸いです。

  • パス区切り文字(¥と/)

    書いたPHPスクリプトを、 ローカルではWindows版XAMPP上で動作確認し、 リモートでは実際にLinux系サーバーで動かしています。 ローカルで書いたコードを、(当たり前ですが、)手を加えずに、 そのままの形で、リモートでも使えたらいいなと、いつも思っているわけですが、 サーバーOSが、WinとLinuxと、異なるため、 パス周りのコーディングで、しばしば、つまずいてしまいます。 例えば、 echo dirname(__FILE__) ; では、 パス区切り文字として、 リモート: / (スラッシュ) ローカル: ¥ (バックスラッシュ) といった違いが生じたりします。 ローカルのWindows環境でも、パス区切り文字として「/」を使えるので、 手打ちの部分においては、どちらのOSでも使える「/」(スラッシュ)で対応していますが、 先ほどのdirname(__FILE__) の例のような場合には、本当に困ってしまいます。 (文字列置換関数や正規表現なんかで、いちいち変換すべきなのでしょうか?) 何か、上手い知恵などありましたら、どなたか教えてください。

    • ベストアンサー
    • PHP
  • 携帯サイトのフォームでの文字化け

    携帯サイトを作成しているのですが、フォームのデータの受け渡し時に「/」(スラッシュ)などの半角記号が文字化けします。HTMLとPHPのソースの関連する部分を抜粋します。 フォーム(HTML) <form name="form" ENCTYPE="multipart/form-data" method="post" action="test.php"> <select name="test"> <option value="2010/02/01"> 2010/02/01</option> <option value="2010/02/02"> 2010/02/02</option> </select> <input type="submit" value="送信" /> </form> データが受け渡されるPHPファイル(test.php) print $_REQUEST["test"]; 受け側で表示すると「2010%2f02%2f01」という具合に「/」(半角のスラッシュ)が「%2f」と表示されます。ちなみにAUの携帯で表示しています。 また、パソコンでIEで表示すると正しく表示されます。 原因、対処方法をご存知の方がいらっしゃれば、教えてください。 よろしくお願いします。

    • 締切済み
    • PHP
  • 文字化けの理由は何なのでしょうか?

    質問への回答を送信させて頂きました後に、 バックで戻ってみますと、「文字化け」の存在が発覚しました。 しかも、文字化けは私の入力の内容では「全く起きず」、 『質問者の文章の側の「全体」』で起きていました。 別段に送信の作業には影響が及んでいないのですが、 トランザクションの仕組みを教わる上で、役に立ち得るのではないか、 と考えたものですから、御忙しい中へ御邪魔を致しますが、 質問をさせて下さい。 『何故に、質問者様の文章「だけ」が文字化け状態に陥ったのでしょうか?』 (そもそも、もし質問文の中に環境依存文字もが含まれていたのでしたら、 最初の送信の時点で文字化け状態に陥っていたのではないでしょうか?) 因みに、その画面をJPG用に変換して、 このページに添付させて頂けば、分かりやすいのだろう、 と思われますが、文字化けのせいなのか、自分の側のFireWallのせいなのか、300KB未満のファイルなのに、送信が失敗され続けますから、 画面の紹介を致せない事情につきましては、 何卒御容赦を御願い申し上げます。

  • サーバーにアップすると文字化けする

    PHPで作成したWebサイトをブロバイダーのサーバーにアップして表示すると文字化けします。 ローカル環境では、php.iniの設定で、エンコードをUTF-8としていますが、「サーバー環境はWindowsサーバをベースとしており、WEBサーバはIIS(7.0)となるため、各サイトごとにphp.iniファイルを設定することはできない。 (サーバ内にアップロードされてもPHPから読ませることはできません。)」 とブロバイダに言われました。 どうしたらよいのでしょうか? ちなみに、ローカル側のエンコードをjisにすれば問題ないのかもしれませんが、いまいちphp.iniの設定に自身がないのです。 今の状態は以下の通りですが、どこをどう変更すればよいのでしょうか? よろしくお願いします。 **************************************************** default_charset = "UTF-8"       出力文字コード mbstring.internal_encoding = UTF-8  PHP内部の文字コード mbstring.http_input = auto       HTTP入力の文字コード mbstring.http_output = pass      HTTP出力の文字コード mbstring.encoding_translation = Off  HTTP入力の文字コードの自動変換 ****************************************************

    • ベストアンサー
    • PHP

専門家に質問してみよう