• ベストアンサー

MySQLから吐き出されるデータがEUC-JPでShift_JISに変更したいのですが

MySQLに登録した日本語データをPHPでリクエストするとEUCで帰ってくるため文字化けします。 ブラウザのエンコード変換を行うとデータは文字化け解消されるのですがほかの日本語が文字化けしてしまいます。 そこでそのデータをPHPのほうでShift_JISに変更したいのですがよく分かりません。 以下のソースに加える形でできればと思います。 while($row = mysql_fetch_object($res)) { print $row->oshiete; print $row->goo; } どうぞよろしくお願いいたします。

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

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

while($row = mysql_fetch_object($res)) { print mb_convert_encoding($row->oshiete, "SJIS", "EUC-JP"); print mb_convert_encoding($row->goo, "SJIS", "EUC-JP"); }

参考URL:
http://jp.php.net/manual/ja/function.mb-convert-encoding.php
Intel_404
質問者

お礼

回答ありがとうございました。 質問に書いておくべきでしたが、たとえばprint ("<font size=\"5\">".$row->oshiete."<br />");と前と後ろにHTMLタグなどを表示したい場合はどうすればよろしいのでしょうか? どうぞよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • [PHP+MySQL]DBがEUC,出力はSHIFT-JIS・・・どうクリアするか?

    こんにちは。 PHPとMySQLで携帯向けのコンテンツを作成しています。 携帯ではShift-JISしか表示されないということを・・・今知り、パニックになっています。 というのは、MySQLがEUCで動作している為、いくらPHPをShift-JISで保存しても、DBから引いてきた情報は文字化けしてしまうのです・・・。 では、MySQLの文字コードを変更すれば?ということになるのですが、サーバーの環境上、それを変更することが出来ません。 どうすればいいのでしょうか・・・。 エンコードコマンドも調べたのですが、うまくいかず。 出来れば、SQLで取ってきた行を一括でエンコード出来る方法があれば助かりますが、その他の方法でも結構です。 とにかく、今の環境で携帯サイトを文字化けなく表示する方法をご教授下さい。 宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • Shift_JISをeuc-jpに変換

    エクセルのデータをテキストに保存し直したデータがあります。 中身はタブ区切りの日本語の単語が数千レコード。 この時、このテキストファイルの文字コードは当然「シフトJIS」ですが、これをperlで受け取ってフォームから文字検索を行いテーブルに検索結果を表示させるプログラムを作りました。 シフトJISなので案の定、文字化けを起こしました。 なのでデータを一度「euc-jp」に変換すると「表」や「ー」などは文字化けを起こすことなく表示するようになりました。 ところが、「(1)、(2)、(3)・・・」の丸数字だけが何故か文字化けしたままで直りません。 なんとかなりませんでしょうか? #データの読み込み open F_DATA, '<', "$cgiparam" or die;  my @lines = <F_DATA>; close F_DATA; #文字コードの変換 foreach (@lines){  Encode::from_to($_,"Shift_JIS", "euc-jp"); } よろしくお願いします。

    • ベストアンサー
    • Perl
  • 「shift_jis」と「EUC-JP」

    「shift_jis」と 「EUC-JP」 で書かれている「別べつ」のページ間で、 タグや構文を、コビーして使ってもいいんでしょうか? ---------------------------------------------------- ホームページビルター8で、それぞれ、タグや構文を見ると、 文字化けもなく見えるので、普通にコピーして使ってもいいでしょうか?

    • ベストアンサー
    • HTML
  • JIS、SHIFT-JIS、EUCはなぜできた?

    教えてください。 文字コードについて調べています。アルファベットはASCIIコードで統一されているために、特に問題がなく、日本語にも JISコードという標準化されているコードがあります。 なので、基本的にはこれをみんなが使えば、文字化けなどという問題には悩まされなくてすむはず。 なのに、なぜ Windows では Shift-JISなどという独特な文字コードを使い、UNIX系では EUCコードを使っているのでしょう。いったい、どの文字コードが一番初めにできて、なぜそれで標準化を図ることができなかったのかなど、日本語文字コードに関する歴史について、ご存知の方、ぜひ教えていただければ幸いです。

  • Shift_jisで表記され、文字化けしてしまうんです。

    VineLinuxに以下のものをインストールしました。 apache_1.3.34(bison-2.1、flex-2.5.4) php-4.4.1 mysql apacheを起動させ、phpの起動を確認(phpinfoで確認)したあと、 とりあえずhtdocsでテストしようと思って、 テスト的にhtmlを作ってブラウザでアクセスしたら、 以下のような現象が発生しました。 ・jisでエンコードすると、日本語表示される。 ・Shift_jis、EUCでエンコードすると文字化け。 ・html上のmetaタグで、charset=Shift_JIS入れてもだめ。 ちょっと行き詰ってます。 何か気になる部分があれば教えてください。 また、解決する上で必要な情報があったらゼヒご指摘ください。 よろしくお願いします。

  • EUCとshift_JIS変換について

    DB(OSはwin2003、DBはmySQL 文字コードはEUC)に対して CSVファイルをインポート、エクスポートしようとしています。 入出力ファイル(CSVファイル)の文字コードはShift_JISのため、 文字コード変換が必要となってきています。 今、エクスポート(EUC→Shift_JIS)したCSVファイルを、 エクセルで確認すると極一部が文字化けしてしまいます。 そこで質問が4つあります。 1.文字化けは仕方ないことなのでしょうか? 2.文字化けする文字を特定することはできるのでしょうか? 3.エクスポート方法、変換方法によって文字化けする文字は変わってくるのでしょうか? 4.みなさんはこのような文字化けの問題をどのように回避した経験お持ちですか?   (文字化けは已む無し、文字コードを意地でも統一した、    文字を特定して特殊文字に置き換えたなどなど) 基本的なことと思いますが、よろしくご教授願います。  (3.4.はもっと詳細がわからないと何とも言えないかもしれません。   ご回答頂く為には何を調べればいいのかからも教えてください。   よろしくお願いします。)

    • ベストアンサー
    • PHP
  • EUC-JPとShift_JISのどちらがいい?

    ホームページ制作の時に指定する文字コードについて Shift_JISとEUC-JPのどちらがいいのでしょう? 今までは私自身Shift_JISを使っていましたが、会社的にEUC-JPに統一しようという動きになってきていて、デメリットがあればやめようかなとも思っています。 メリットとデメリットがあれば教えてください。 また、各データベースを使ったりもします。

    • ベストアンサー
    • CSS
  • 文字化けにどう対処したら・・・PHPをShift_JISで書いて、MYSQLに格納しました

    最初からEUCで書けばよかったのでしょうが? 知識が無くて、全部Shift_JISで書きました。 (文字化けをなめていました。。) 結構、文字化けすることが多くて修正するしかなくなってきましたが 全部書き直さずに改良するにはどうしたらいいでしょうか? PHP Version 4.4.2 MYSQL 4.0.26 にデータはきちんとShift_JISで入っているようです。 **phpmyadminでShift_JISで表示させるとちゃんと表示します、  それ以外で表示させると文字化けします。 フォームを使って、MYSQLに格納して 後で、呼び出して表示するだけです。 どうか宜しくお願いいたします。 相変わらず、要領の得ない質問でスミマセン。

    • ベストアンサー
    • PHP
  • EUC⇔Shift_JISの文字コード変換について

    DB(OS:win2003、DBMS:MySQL Server5.0  文字コードはEUC)に対して CSVファイルをインポート、エクスポートしようとしています。 入出力ファイル(CSVファイル)の文字コードはShift_JISのため、 文字コード変換が必要となってきています。 CSVファイルのインポート/エクスポート、文字コード変換は、 php5.2.5で構築しています。 今、エクスポート(EUC→Shift_JIS)したCSVファイルを、 エクセルで確認すると極一部が文字化けしてしまいます。 そこで質問が4つあります。 1.文字化けは仕方ないことなのでしょうか? 2.文字化けする文字を特定することはできるのでしょうか? 3.エクスポート方法、変換方法によって文字化けする文字は変わってくるので しょうか? 4.みなさんはこのような文字化けの問題をどのように回避した経験お持ちですか?   (文字化けは已む無し、文字コードを意地でも統一した、    文字を特定して特殊文字に置き換えたなどなど) 基本的なことと思いますが、よろしくご教授願います。  (3.4.はもっと詳細がわからないと何とも言えないかもしれません。   ご回答頂く為には何を調べればいいのかからも教えてください。   よろしくお願いします。)

    • ベストアンサー
    • MySQL
  • EUCからShift_JISに保存し直す方法

    EUCで書かれたCGIをSHIFT-JISで保存し直す・・ と言う作業の過程での事なのですが・・ 秀丸を開きファイル名を指定して、 文字コードを日本語(EUC)にして、 開きます。 その後秀丸のその他-保存・読み込み-標準の文字コードで 日本語(SHIFT-JIS)にしてみましたが、どうも変わった気配が無く EUCのまんまのような気がします。 やり方間違えてますでしょうか? 秀丸をお使いでご存知の方がいらっしゃいましたら お教え下さいm(__)m

    • ベストアンサー
    • CGI