• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[PHP+MySQL]DBがEUC,出力はSHIFT-JIS・・・どうクリアするか?)

[PHP+MySQL] EUCで動作しているMySQLのデータをShift-JISで表示させる方法

このQ&Aのポイント
  • PHPとMySQLを使用して携帯向けのコンテンツを作成している場合、MySQLがEUCで動作しているため、Shift-JISで保存した情報が文字化けしてしまうことがあります。しかし、サーバーの環境上でMySQLの文字コードを変更することはできません。そのため、エンコードコマンドを使用してもうまくいかない場合は、SQLで取得した行を一括でエンコードする方法を試すことができます。
  • MySQLがEUCで動作しているため、PHPでShift-JISで保存した情報が文字化けしてしまう場合、サーバーの環境上でMySQLの文字コードを変更することはできません。代わりに、SQLで取得した行を一括でエンコードする方法を試すことができます。エンコードコマンドを使用してもうまくいかない場合は、他の方法を試してください。
  • PHPとMySQLを使用して携帯向けのコンテンツを作成している場合、MySQLがEUCで動作しているため、Shift-JISで保存した情報が文字化けしてしまうことがあります。サーバーの環境上でMySQLの文字コードを変更することはできませんが、SQLで取得した行を一括でエンコードする方法を試すことができます。エンコードコマンドを使用してもうまくいかない場合は、他の方法を試してください。

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

実際にやっているのですが、 携帯用の出力HTMLの全てを変数にいれて、 最後に print mb_convert_encoding($html, "SJIS", "EUC"); でエンコードしています。 他の方法を試しましたが、なぜかSJISを吐き出してくれなかったので・・・

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

その他の回答 (3)

  • taaaaaaa
  • ベストアンサー率38% (31/80)
回答No.4

PHPはサーバによって設定などで利用制限があるようです。 ちなみに今利用しているサイトは、 文字コードを指定する場合、PHP文の一番上に <? header("Content-type: text/html; charset=Shift_JIS"); ?> と記述。 とあります。 他のサイトでも一番上に~~~を記述。 PHPの拡張子は.cgiにすべし。 などありました。 サイト運営会社へ問い合わせてみるしかないように思います。 mb_convert_encodingが使えるかどうかも含めて。

全文を見る
すると、全ての回答が全文表示されます。
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。単純に文字コードを合わせればよいと思うのですが、いかがでしょうか? > PHPをShift-JISで保存しても という発言からすると、コードの中にHTMLが書いてあるかと思うので(一応念のため。もし業務で作られているなら、コード中にHTMLがあるのはお勧めも歓心もできません)。 DBから取得した情報を、一度 $shift_jisに変換されたデータ = mb_convert_encoding(MySQLで取ってきたデータ , "SJIS", "auto"); という感じで文字コード変換すればよろしいかと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • fire--
  • ベストアンサー率49% (146/293)
回答No.1

やり方はいろいろあるので1例です。 以下のようにしてやれば、このphpがEUC-JPであっても 出力をsjisに出来ますよ。 <?php mb_http_output('SJIS'); ob_start('mb_output_handler'); echo ' <html> <head> <title>あああmobile</title> </head> <body> いうえお </body> </html> '; ?>

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

関連するQ&A

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

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

    • ベストアンサー
    • PHP
  • 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
  • 文字化けにどう対処したら・・・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
  • SmartyでのShift-JIS使用

    現在、携帯サイトの構築を行っています。 EUC-JPならば問題なく表示されるのですが携帯電話はShift-JISをサポート。 一応、EUC-JPも表示はされますがサポート外である事実は変わりません。 そこで、表示に関してはShift-JISで行いと考えています。 (全ての携帯がEUC-JPでも問題なく表示できる確証がない限り表示はShift-JISを考えています。) しかし、今度はSmartyがShift-JISがサポート外。 普通にShift-JISを使うと文字化けを起こしたりエラーが表示されます。 PHPもShift-JIS、SmartyのテンプレートもShift-JISにすれば とりあえずはPHPからの表示する文字に関してはShift-JIS表示できますが Smartyテンプレートに直接書いた文字は文字化けを起こします。 自分なりに調べて http://blog.livedoor.jp/alpha1280/archives/50225918.html http://www.knym.net/wiki/index.php?PHP%2FSmarty のサイトを見つけて記事内に書いてあるPHPを利用してみました。 Smarty_Extends.phpをSmarty.class.phpと同じフォルダに作成して テンプレートをShift-JISで作成、プレフィルタとポストフィルタのコメントを外して Smarty_Extendsを利用して表示するPHPを作成↓ <?php include_once('Smarty_Extends.php'); $smarty = new Smarty_Extends('templates','templates_c'); $smarty->assign("test", "Shift-JISによる表示だよ。必須"); $smarty->display("Enc_Shift-JIS.tpl"); ?> エラーは出なかったんですが従来通り文字化け、何度もテストしているんですが判りません。 SmartyでShift-JIS表示の経験がある方、上記の問題点や解決作の判る方。 お力を頂ければ幸いです、宜しくお願い致しますm(_ _)m

    • ベストアンサー
    • PHP
  • 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入れてもだめ。 ちょっと行き詰ってます。 何か気になる部分があれば教えてください。 また、解決する上で必要な情報があったらゼヒご指摘ください。 よろしくお願いします。

  • Shift-jisのPerlから、UTF-8、EUC、Shift-jisの3つのエンコードテキストを生成

    Shift-jisで作ったPerlにて、テキストをEUC、UTF-8、Shift-jisにエンコードし外部検索サイト等にテキストリンクを飛ばしたいのですが、うまくいきません。 過去ログにUTF-8から、EUC、UTF-8、Shift-jisへのエンコード方法をみつけ http://oshiete1.goo.ne.jp/qa3745875.html 試行錯誤しましたが、Shift-jisからはうまくいきませんでした。 perl のバージョンは5.8.8です。 ご教示のほどよろしくお願いします。

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

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

  • 「shift_jis」と「EUC-JP」

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

    • ベストアンサー
    • HTML
  • PHP+MYSQLでの文字コードによる文字化け

    お世話になっております。 PHP+MYSQLの構成でDBに登録、DBから参照→表示といったアプリケーションを作っているのですが質問があります。 文字コードを意識せずに、”Shift-JIS”でPHPやhtmlのコードを書いていたのですが、仕様上問題があることに気づいたので今まで書いたソースの文字コードを”EUC-JP”に変更することになりました。 フリーで複数のテキストファイルをShift-JIS→EUCに一括変換するソフトがあるので、そのソフトを使ってEUCの文字コードに変換したところ、ソース中の日本語(全角)が文字化けしてしまいました。 #どの変換ソフトを使っても同様の結果になります ブラウザー上で表示すると問題ありませんが、今後ソースをいじるときに非常に不便です。目的としては、「ソースの文字コードをShift-JISに変換」かつ「ソース内の日本語(全角)の文字化けを起こさない」方法をご存知の方は是非ご教授お願い致します。

    • ベストアンサー
    • MySQL