• 締切済み

データベースから取り出した日本語が化けるのですが

garam_masalaの回答

回答No.2

こんにちは。 DBのエンコードが、EUC-JPで、HTMLファイルのエンコードが、Shift-JISになっていると、WEB上で見る際に文字化けをおこす場合があります。 私も以前、これで悩んだことがありました(^ ^;) HTMLファイルをEUC-JPに変更してあげると、ちゃんと表示できるかと思います。

g_putti
質問者

お礼

回答ありがとうございます。 さらにお聞きしたいのですが、”HTMLファイルをEUC-JPに変更してあげると、ちゃんと表示できるかと思います。”ということはLinux上でファイルのエンコードを変える(nkfで変更)ということでしょうか?クライアント側のweb画面でエンコードを”EUC"に変えるということでしょうか?他の方法があるのですか?まだまだ、踏み込んでないところがあるような気がします。 またよろしくお願いします。

関連するQ&A

  • pgaccessの日本語入力について

    こんにちは。 RedhatLinux7.1にPostgreSQL-7.2.1をインストールしました。 付属で入っていたと思われるpgaccessを pgaccess & で呼び出し、 psqlで作っていたデータベースに接続することはできました。 しかし、日本語は文字化けしていて、日本語入力もできません。 どのようにすれば日本語表示・日本語入力ができるようになりますか? 教えてください。

  • PHP日本語対策

    PHP5とpostgreSQLで作成しているWEB登録システムを設計し、開発者に開発してもらっています。 英語のページなので、日本語が入力されるとエラーにしたいと思っております。 しかし、開発者がいうには、PHPでいかなる日本語をはじくチェックをかけても、通りぬけてしまうようです。しかも、こちらで用意しているpostgreSQL環境では、日本語を登録するときにエラーになってしまうとのことです。PHPで文字コードをsjisにしていることが原因といわれてしまいました。 質問は、 PHPでは日本語が入力できないようにすることは不可能なのでしょうか。 また、PHPのdefault charsetをsjisに指定するのは、英語のページを作成するのに不適切なのでしょうか。

    • ベストアンサー
    • PHP
  • ブラウザに日本語出力

    初めまして、PHP初心者です。 PHPで現在、日報を書き込むプログラムを作っています。 目的としては、書き込んだ日報をDBに登録させるというプログラムです。 その中で、HTMLのフォームで入力した日本語の文章や文字列をブラウザに出力させるにはどうしたら良いのでしょうか? 普通にprintで出力させると、文字化けをしてしまい困っております。 環境は、OSはLinux、PHPVer.3、DBはPostgreSQLです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのWeb登録システムの日本語対策

    PHP5とpostgreSQLで作成しているWEB登録システムを設計し、開発者に開発してもらっています。 英語のページなので、日本語が入力されるとエラーにしたいと思っております。 しかし、開発者がいうには、PHPでいかなる日本語をはじくチェックをかけても、通りぬけてしまうようです。しかも、こちらで用意しているpostgreSQL環境では、日本語を登録するときにエラーになってしまうとのことです。PHPで文字コードをsjisにしていることが原因といわれてしまいました。 質問は、 PHPでは日本語が入力できないようにすることは不可能なのでしょうか。 また、PHPのdefault charsetをsjisに指定するのは、英語のページを作成するのに不適切なのでしょうか。

  • データベースに日本語以外の言語入力

    PHPで作ったWebアプリから日本語や英語の文字は問題なく登録できるのですが、そのほかの言語(韓国語など)を入力するとすべて????となってしまいます。 どうしたら他の言語も問題なく入力、保存できるのでしょうか?

    • ベストアンサー
    • PHP
  • addslashesを使用したDBの登録内容

    <input type='text'・・の入力フィールドを含むPHPファイルを作成しました。このフィールドで入力された値を受け取りDB(postgreSQL)にinsertします。 この値を登録する前に、addslashes関数を通しています。 入力値:\500とした場合 DB(psqlコマンドでselectした)値:\\500 となるかと予想していたのですが、 (実際にバックスラッシュを挿入した文字列がDBに登録されるのかとおもっていました) DB(psqlコマンドでselectした)値:\500 と登録されます。 この登録内容が正常動作なのでしょうか。 addslashesを通さずにinsert文を発行すると、確かにDBエラーとなるので、addslashesは有効にはなっているかと思います。 長文で申し訳ありません。宜しくお願いいたします。 PHP 4.3.4 postgreSQL 7.3.6 php.ini のmagic_quotes_gpc = Off の環境です。

    • ベストアンサー
    • PHP
  • データベースへの日本語入力

    PHPとMySqlを勉強し始めたものです。 超初心者ですが、よろしくお願いします。 @PAGES(http://atpages.jp/)というサイトを使っています。 ネットで見つけたサンプルプログラムを使って、データベース(MySql)へのデータの入力と読み出しをやってみたのですが、半角英数字なら、読み込みや書き出しはできるのですが、日本語の文字であれば、空白になってしまいます。 プログラムを調べてみると、PHPでのデータベースへの書き込みのときは、ちゃんと日本語の文字を書き出そうとしているようなのですが、「phpMyAdmin」というサイトで書き込まれた情報を見てみると、空白なので、データベース側がデータの受け取りを拒絶したようにも思われます。 サイトで検索して、HTMLの<HEAD></HEAD>のところに下記のような行を入れたり、 <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> 『mysql_query("SET NAMES 'utf8'"); 』という行をデータの書き込み行の前に入れたりしても、変わりませんでした。 どのようにすれば、日本語もデータベースで扱えるようになるのか教えてください。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MYSQLでPCにあるデータベースのリストを得るには?

    こんにちわ, 現在MYSQLの学習をしています。 タイトルにあるようにMYSQLでPCにあるデータベースのリストを得るにはどうすればいいのでしょうか。 PostgreSQLでいう $ psql -l のコマンドの事です。 よろしくおねがいします。

    • ベストアンサー
    • MySQL
  • PHP でMysqlを使用して日本語を登録する。

    すいません、教えて下さい。現在、PHPとMYSQLを連携させてデーターベースを構築中なのですが、日本語が登録できません。mysqlモニタにてinsert 文で登録すると日本語が登録できるのですが、phpを経由すると登録できないのです。phpから、既存のデータベースを呼び出すと日本語のところがすべて文字化けしてしまいます。ちなみにmysqlのmy.iniの設定はsjisにしてあります。ujisにするとmysqlモニタからでも日本語が登録できなくなります。どこの設定がいけないのでしょうか?ちなみにWindows Vista php5.1 mysql 5.1 です。

    • ベストアンサー
    • PHP
  • pg_dumpの文字化け

    PostgreSQLのpg_dumpを用いたバックアップで困っています。 OSはVineLinux 2.2.17-0vl10です。 あるサーバ(PostgreSQL7.0.2)のデータベースtest_db(EUC_JP)に対して、 pg_dump -D -v -i -f test.dump test.db でダンプファイルを作成しました。 COPYでは不確実な場合があるということでINSERT文で出力しました。 (データの日本語の部分が数字に変換されています) それを別のサーバ(PostgreSQL8.2.5)のデータベースtest2_db(EUC_JP)にリストアしました。 psql test2_db < test.dump すると、"(株)"という文字を含む文字列が化けてしまっていました。 同じレコードの他のカラムは大丈夫です。 このような場合の対策がありましたら教えていただきたいと思います。 宜しくお願いします。