• 締切済み

FORMタグで送ると文字化けしてしまう。

ubuntuサーバーを建ててプログラムを書いているのですが、formで送った文字が正しく受け取れなくて困っています。 Shift-JIS設定のformから日本語を送ると%がすべて\xに置換されてプログラムにおくられてきます。 プログラムはutf-8です。 これを解消する方法はないのでしょうか? 宜しくお願いいたします。

  • Perl
  • 回答数2
  • ありがとう数2

みんなの回答

  • yossu
  • ベストアンサー率60% (270/446)
回答No.2

accept-charsetは自分のコード属性ではなく 相手先(サーバ)が使用している属性を指定します。 即ちShift-JIS(ブラウザ)→UTF-8(サーバ)ならばhtmlに <form accept-charset="UTF-8" method="get" action="http://Hoge.com/hogesearch.cgi"> 等と記述するわけです。 その他"EUC-JP"になったりします。 Shift-JIS→Shift-JISならコード変換が要らないので 記述しなくても構いません。

keeeeeeeen
質問者

お礼

>yossuさん 再度ありがとうございます。 自鯖はUTF-8なのでさっそくそれで試してみます。 ありがとうございます。

  • yossu
  • ベストアンサー率60% (270/446)
回答No.1

ブラウザからのShift-JIS記述のformタグから キーワードを送ると文字化けすると言う事ですかな。 詳しくは知らないのですが自作の検索BOX寄せ集めページを 作成した時にクエリを送る各サイトの文字コードが違うために 文字化けするのを防ぐ様にformタグにaccept-charset属性を つけて送ると対応したコードにしてくれるみたいでした。 ただしIE6は未対応なためにFFやOperaなどで使用してました。 IE7以降の対応は判りません。 http://w4ard.s26.xrea.com/reference/xhtml11/attribute/accept-charset IEにはjavascriptで対応の記事 http://go4it.seesaa.net/article/110307462.html 参考にならなかったら済みません。

keeeeeeeen
質問者

お礼

>yossuさん 回答いただきありがとうございます。 >ブラウザからのShift-JIS記述のformタグから >キーワードを送ると文字化けすると言う事ですかな。 上記その通りです。 htmlのテンプレートでShift-JISを宣言し、formタグでもaccept-charset属性でShift-JISを入れたのですがうまくいきませんでした。 ちなみにブラウザはChromeです。

関連するQ&A

  • HTML formタグの文字コードについて

    各サイトのフォーム<form>をまとめて1つのテキストにしています。 文字コードはShift-jisです。 元のページがShift-jisの場合、問題なく動作するのですが、 EUCやUTF-8の場合、テキストボックスに入力した2バイト文字が 化けてしまいます。 これらのサイトの<form>をShift-jisで動作するようにはできない でしょうか?

    • ベストアンサー
    • HTML
  • 文字コードでなる文字化けの直し方お願いします。

    海外のWEBHOSTサーバーの WE○NGというところを使っているのですが。 HTMLの記述で charset="Shift_JIS" とすると日本語が文字化けします。 Shift_JIS を EUC-JP iso2022-jp UTF-8 ASCII と色々変えてみても、全部日本語が文字化けしました;; 文字化けにならない、日本語が表示されるにはどうしたらよいでしょうか。 お知りの方 よろしくお願いします。

  • ウェブサイトの日本語の文字化け 

    テンプレートを活用してサイトを作成しました。 英語と日本語を使っていますが、日本語が文字化けしてしまいます。 そこで、日本語(シフトJIS)だった「エンコード」を、Unicord(UTF-8)にすると解消されます。 エンコードの種類は、サイト作成者がプログラムで設定したエンコード種が、サイトを開いた時に自動適用されるのでしょうか? というのも、複数あるページのうち、1ページだけはUnicordにしなくても文字化けしていません。 そこで、全ページそれぞれのエンコードを確認すると、その文字化けしないページはUnicord、他のページは日本語(シフトJIS)と出ます。 ソースを見てみましたが、どこで設定するのかよくわかりませんでした。 どうすれば文字化けしないようになるかご指南いただけますでしょうか。 使用しているテンプレートは、www.webcity.com.au です。(作成者は海外の方なので英語です) 【番外編】文字エンコードの種類は、PCのデフォルトで設定されていて、それがそのままどのサイトにも適用されるのかと思っていました。どうやらそうではなくてサイトごとに変わるみたいですね。 ・・・ということで素人にもわかるようにお願いいたしますm(__)m

  • HTMLでどうしても文字化け(エンコード指定がなぜか反映されない)

    HTMLでどうしても文字化け(エンコード指定がなぜか反映されない) こんにちわ、私が所属しているところは例年活動の発表ページを作成して、今年は私が作成担当になっています。 去年先輩が作ったものを参考に作っているのですがサーバに上げて見たところエンコードがおかしいのかどうしても文字化けしてしまいます。 以下に詳しい症状を箇条書きします。どなたか知恵を貸してくださる方、よろしくお願いします。 自スペック:WindowsVista:FireFox3.6.9 サーバの設定:エンコードはutf-8で統一されている(去年のページもすべてutf-8でした) 症状:去年と同様にcssでもhtmlでもutf-8を文字エンコードに指定しているが文字化け、ブラウザのエンコードをshift_jisに変えると直る ↓ 指定エンコードをshift_jisに変えてみるがなぜかutf-8で表示される ↓ ソースをterapadでutf-8に変換してみてからソースを上げなおしてみる ↓ やっぱりエンコードをshift_jisに変えないと文字化けが直らない 去年のページではutf-8で問題なく表示されており、指定コードの周辺は変えていないのでなぜ文字化けするかが不明です。 日本語のエンコードは普通shift_jisであってutf-8ではないですよね? 去年のページがなぜutf-8でも普通に表示されているのか、それがなぜほとんど同じ構成の自分が作ったページではできないのか、知恵をお貸しください。

    • ベストアンサー
    • HTML
  • 文字化け。

    REDHAT9でwebサーバをたてたのですがhpが文字化けしてしまいます。エンコードで日本語(シフト JIS)を選択すると大丈夫なのですが、一度ブラウザを閉じてまたくると文字化けしてて。 サーバに関してまだまだ無知なので力を貸していただければ幸いです。お願いします。

  • HTMLの文字化け

    自分で立ち上げたサーバへWindoswで作成したHTMLをアップしてブラウザから表示の確認をしてみたところ、日本語が文字化けてしまいました。 ヘッダーには <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> として、文字コードをUTF-8にしてあるのですが、この部分を <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" /> とShift-JISにしてみると、日本語の文字化けが解消します。 できればcharset=UTF-8の状態で文字化けせずに表示してくれるようにしたいのですが・・・ どなたか原因がお分かりになる方いらっしゃいましたら、ご教授のほどお願い致します。 テキストエディタはK2Editorを使用しており、「保存時の文字コードと改行種類の変更」でHTMLファイル自体の文字コードは「Shift-JIS」、改行コードは「CRLF」としております。 サーバは、CentOS5.4を使用しており、 コマンドで # printenv | grep LANG の結果は、 LANG=ja_JP.UTF-8 となっております。

    • ベストアンサー
    • HTML
  • 突然の文字化けが治らない

    iBookG4 OSX 10、3を使用してます。 昨日yahoo!のメールページを開こうとしたら文字化けしていたので、テキストエンコーディングの設定を日本語がちゃんと読める状態のものを選び(この時は日本語EUC)を設定したのですが、 今度、別のページを開くとまた文字化けする様になり、 ページを開く度に、そのつど、そのページにあったテキストエンコーディングを設定しなおさなければならなくなってしまいました。 ヤフーを見た後に、ここのOkwebを見ようとすると、文字化けするので(日本語shift jis X0213)に変えなければならない といった状態です。 今まではどのサイトを開いても文字化けなどしなかったのに、 どうすればいいのか解りません。どなたか何かご存知でしたらお教え下さい。お願いします。

    • ベストアンサー
    • Mac
  • メールの文字化け

    こんにちは。 ある一部の人にメールを送ると文字化けしていて読めないと言われます。 イロイロ調べて、エンコードが日本語(ECU)になっていたので日本語(シフトJIS)ってのに変えてみましたが… 今度はインターネットも何もかもが文字化けした状態になってしまいました。 日本語(シフトJIS)に変更しても文字化けしないようにするにはどうしたら良いのでしょうか?

  • ホームページのエンコードについて。

    ホームページの文字コードについて。 Yahoo!のトップページの文字コードがUnicode(UTF-8)になって、 日本語(シフトJIS)、日本語(EUC)などすべての他の文字コードは文字化けされるので、 正常でしょうか?自動選択に設定しても文字化けしてます。 前は日本語(シフトJIS)だったのにいつ変わったんでしょうか? またトップページ以外にはすべて日本語(EUC)になってます。 もちろん、これ以外はもじばけてます。 P.S. OCNのトップページはエンコードが日本語(シフト JIS)、 so-netは日本語(シフト JIS)、 GOOは Unicode(UTF-8)、 Microsoftは Unicode(UTF-8)などですが、 皆さんはどうなってますか? 正常なら私のPCに設定されたエンコートは少なくとも日本全国で同じだと思ってますが・・・

  • MySQLの文字化けについて

    MySQL側をUTF-8 PHPスクリプトをShift-JIS にしたい場合はどのような設定にすれば文字化けせず表示されますか? 設定例をのせていただけると助かりますm(_ _)m

専門家に質問してみよう