• 締切済み

エンコードについて

phpでXMLやデータベースとの連携を実験中です。結果、連携はうまくいったのですが、文字のエンコードについて思うことがあります。連携によって引き出された情報はテキストとなってphp上に表示されますが、エンコードがどれもUTF-8となっています。その為文字化けが起こってしまい、右クリック>エンコード>Unicode(UTF-8)という手順でエンコード方法を変更する手間が発生してしまいます。 製作側の自分自身はもちろんのこと、これではユーザー側にも面倒な一手間をかけてしまうことになります。 なんとかこのエンコード方法を一般的なSJISにする方法はありませんでしょうか?

  • PHP
  • 回答数4
  • ありがとう数0

みんなの回答

回答No.4

header ("Content-Type: text/html; charset=UTF-8\r\n"); でUTF-8とヘッダにセットしてもよいでしょう。 $変換結果代入変数 = mb_convert_encoding (エンコード対象, "Shift_JIS", "UTF-8"); としてShift_JISにエンコードして出力してもよいのではないかと思います。

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

#2 SJIS-win です。

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

<?php mb_http_output("SJSI-win"); ob_start("mb_output_handler"); ?>

参考URL:
http://jp2.php.net/manual/ja/function.mb-output-handler.php
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

mb_convert_encoding http://jp2.php.net/manual/ja/function.mb-convert-encoding.php を用いて出力する前に、エンコーディングをSJIS に変更して下さい。

関連するQ&A

  • PHP+MySQL エンコード

    文字コードについて教えて下さい。 データベースMySQL の文字セット: UTF-8 Unicode (utf8)に固定。 htmlはSIFT-JISで表示。 フォームで受けとったデータをPHPからDBに書き込む場合 i18n_convert($data,"UTF-8", "SJIS"); をして書き込めば問題ないでしょうか? DBがEUCの場合は問題なかったのですが、UTF-8は初めて 扱うため、文字化けの不安があります。 いまいち、文字コード(バイト数の違いなど)が理解できておりません。 ご教授お願い致します。

    • 締切済み
    • PHP
  • CakePHPでDBに入れる際文字化け

    お世話になります。 現在CakePHPで携帯サイトを作成しているのですが、 通常出力は問題ないのですが、 フォームからDBに入れる際に文字化けが起こります。 ■現在行っている設定 charset=SJIS ファイルの文字コード:SJIS CakePHPのdatabese.phpのエンコード設定:SJIS MySQL の文字セット: UTF-8 Unicode (utf8) ご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • urlencodeでエンコードされる文字コードが変わる

    内容が同じSJISとUTF-8のソースを実行すると、それぞれurlencodeでエンコードされる文字コードが変わってしまい困っています。 SJISでもUTF-8と同じようにエンコードをしてパラメタをサーバーに渡したいです。 例: 「株」というキーワードでエンコードすると SJISの場合:%8A%94 UTF-8の場合:%E6%A0%AA urldedodeの結果はどちらとも「株」となる。 php.iniのmbstringを一通りいじってみましたがうまくいきません。 どなかた詳しい方ご教授頂ければと思います。

    • ベストアンサー
    • PHP
  • エンコード 日本語(JIS)が選べない

    教えてください。 Internet Explorer 9 を使用しています。 エンコード  Unicode(UTF-8)が選ばれており、 支障をきたしています。 http://okwave.jp/qa/q8078148.html 上記で支障をきたす理由記載。 日本語(シフト JIS)を選びたいのですが チェックを変えると文字化けしてしまい、 ホームに戻ってみると文字化けが解消されるとともに Unicode(UTF-8)にもどってしまいます。 自動選択にチェックいれてみたりためしましたが どうしてもUnicode(UTF-8)に勝手に戻ってしまいます。 日本語(シフト JIS)を設定するにはどうすればいいでしょうか? ヒントでも結構です! 宜しくお願い致します。

  • encoding="unicode"について

    ものすごい初歩的な質問で申し訳ないのですが、回答をお願いします。 <?xml version="1.0" encoding="Unicode" ?> と宣言したうえで、 UTF-16でエンコードして保存します(utf16_1.xml)。 このutf16.xmlをIE7で表示しようとすると正しく表示されますが、 UTF-8でエンコードして保存(utf8_1.xml)したものを IE7で表示しようとすると解析エラーとなります。 続いて<?xml version="1.0" encoding="UTF-16" ?>と宣言して、 UTF-16でエンコードして保存(utf16_2.xml)したものはIE7で正しく表示され、 <?xml version="1.0" encoding="UTF-8" ?>と宣言して、 UTF-8でエンコードして保存(utf8_2.xml)したものはIE7で正しく表示されます。 (まぁ、これは当たり前ですけど) ここからが本題なのですが、共にUTF-16で保存したとして、 encodingの指定でUnicodeと指定した場合と、UTF-16とした場合では、 表示結果は同じに見えますが、同じ意味となるのでしょうか? 両者間で文字化けなどが発生しないのかを確認したいです。 Unicodeの知識もあまりないので、その辺を踏まえて、 回答いただけますと幸いです。

    • 締切済み
    • XML
  • エンコードがおかしくなります。タスケテ・・・

    普通のぺージなどを開いているときはなんでもないのですが、検索ページなどを開くと勝手にエンコードが「Unicode(UTF-8)」になってしまいます。そのとき、「日本語(EUC)」にすると文字化けし、「日本語(自動選択)」にすると、表示されなくなります。困っているので、どなたか直し方知っている人は教えてくれませんか?

  • 英語圏で一般に使われているエンコードは?

     こんにちは、今、英語でサイトを作っているのですが、英語圏で一般に使われている文字のエンコードを教えて下さい。日本語のInternet Explorerのエンコードに入っているUnicode(UTF-8)でチェックして文字化けが無いのならOKなのでしょうか?他に海外の人にむけてのHP作りで注意点などあったらアドバイスください。。。

  • エンコードについて(初心者です。。

    VS.NETにてプログラムを作っています。 UTF-8にてエンコードして保存されたxmlファイルをよんで、画面上に表示しようと思っています。 とりあえずとして、CStdioFileを使ってCStringによみこんでAfxMessageBoxに出してるんですが 完全に文字化けしてしまいます。ほかのエンコードを試した結果、ANSIに変換すれば良いことまでは たどり着けました。このサイトでのUTF-8エンコードの変換についての過去の質問は見たんですが、 情報が古いせいか(理解力がないのか汗)得た情報をヘルプで検索してもうまく出ません。 どうすればうまく変換できるんでしょうか?

  • エンコード ユニコード そのまま送信

    &Acirc; &Acirc; &Acirc; &Acirc; &Acirc; &Acirc; &Acirc; while non-holy... &Acirc; No, it&acirc;€™ 私のメールが上のような文字化けをして受け取られることがあります。 英語を使うときは、エンコード 西ヨーロッパ言語で書いているのですが、それが原因でしょうか。 エンコードに、Unicod UTF-7 UTF-8 がありますが、 これを選択すると良いのでしょうか。 また、エンコード西ヨーロッパ言語のまま日本語を書くと 「そのまま送信」「ユニコードで送信」かを選択することになります。 エンコードを日本語に変えて送信するか、 相手が日本人なので、「そのまま送信」を使って問題ないのですが、 ユニコードにすればどうなるのでしょうか?  上に書いた文字化け対策に使えるかもしれないと思って。

  • Flash8のユニコードについて。(mySQLとの連携)

    Flash8とPHPとmysqlの連携でアプリケーションを作っています。 mysqlで作ったデータベースからphpで日本語のテキストを読み込み、ActionScriptで表示させたいのですが、ユニコード(?)が違うらしく文字化けが起こってしまいます。(ムービープレビューの際) mysqlのユニコードShift-JISにしています。 Flashのユニコードを変更することはできるのでしょうか? また、文字化け解消のアドバイスなどあればお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう