• ベストアンサー
  • 困ってます

Apache+PostgreSQL+phpでWebアプリケーション

こんにちは。 OSはRedhatLinux7.1を使っています。 Apache_1.3.26 PostgreSQL-7.2.1 php-4.2.1 でWebアプリケーションを作ろうとしています。 言語はshift_jisを使いたいと思っているのですが、 データベースに登録したデータを呼び出してWeb上に表示しようとするとeuc_jpで表示されてしまっているようで、文字化けしてしまいます。 データの登録にはwindowsのパソコンからpgaccessを使ってPostgreSQLにアクセスしています。 どのように解決すればいいか教えてください。 お願いします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数113
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.2
  • noopee
  • ベストアンサー率38% (114/297)

こんにちは。 PostgreSQLは、文字コードはeucを使う仕様になっているはずです。(変更できるかどうかは?) 当然呼び出した結果のものもeucで返ってきます。 なので、php中でコンバートするための関数等を使ってshift-jisに変換してから出力すればよいです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。

その他の回答 (1)

  • 回答No.1
  • YUNTAKU
  • ベストアンサー率25% (32/128)

思い切ってWEBの方をEUCにするか、引っ張ったデータをSJISに変換したら大丈夫です

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。

関連するQ&A

  • postgresqlとmysqlの違い

    こんにちは。 OSはRedhatLinux7.1を使っています。 Apache_1.3.26 php-4.2.1 PostgreSQL-7.2.1 mysql-3.23.52 を使ってWebアプリケーションを作ろうとしています。 Apache+php+PostgreSQLで、 SJISで書いたphpプログラム(htmlのページの表示もSJISに指定)を使って表示されたページからPostgreSQLにデータを登録しようとするとエラーになります。 Warning: pg_exec() query failed: ERROR: Invalid EUC_JP character sequence found (0x8971) となります。 同じようにApache+php+mysqlでやってみたら登録できます。 PostgreSQLはSJISでデータを登録できないのでしょうか? どこをどのようにすればいいのかわかりません。 初歩的で申し訳ありませんがアドバイスお願いします。

  • PostgreSQLとMySQL

    OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 PostgreSQL-7.2.1 mysql-3.23.52 を使っています。 データベースの勉強をするために Apache+php+PostgreSQL Apache+php+MySQL で同じWebアプリケーションを作っていこうと思っています。 しかし、どのように比較し、どのように勉強していけばいいのか悩んでいます。 PostgreSQLとMySQLではphpの関数が違う事はわかったのですが。。。 よろしければアドバイスお願いします。

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

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

  • PHPとPostgreSQLが使えるレンタルサーバ

    Webプログラマーです。言語はPHPを使ってます。 自宅でPHPとデータベースの学習をしたいと思っています。 データベースはPostgreSQLです。 これらの言語が使えるレンタルサーバを探しているのですが、 おすすめのサーバ会社があったら教えていただけませんか? PostgreSQLが使えるところって少ない気が・・・ ちょっとした動作確認がしたいので安価なところがいいです。

    • ベストアンサー
    • PHP
  • PostgreSQLのデータ

    PHPにてデータの入っていないテーブルに対して”pg_result”の処理をすると ”Warning: 0 is not a PostgresSQL result index”という 警告文が出てしまいます。 これを何とか回避したいのです。 また、最悪警告文のみ(Error文ではなく)表示させないようにできればいいのですが方法が分かりません。 お分かりになられる方おりましたら、よろしくご教授ください。 環境: RedhatLinux6.2J apache-1.3.12-0jp1 php-3.0.15_i18n_ja-0vl2 postgresql-7.0.2-2.i386

  • Apacheのアップグレードについて

    今RedhatLinux7.1を使っています。 この前Apache+php+PostgreSQLの環境を作ったのですが、 ApacheをApache_1.3.26にアップグレードをしたいと思っています。 アップグレードするにはどのようにすればいいのですか? 前のバージョンのものは削除するのですか? また、phpやPostgreSQLはそのままでいいのですか? 卒業研究のために最近Linuxを始めたばかりでまだわからないことばかりです。 誰か教えてください。お願いします。

  • CからPHP・PostgreSQL

    はじめまして。 私は、学校でC言語を中心に2年間勉強をしました。 そして、今年の四月就職したのですが、その会社ではPHPで仕事をさせられています。 全くしたことがなかったので、五ヶ月たった今でも表面的なところしか理解しておらず、apache?postgreSQL?などがなんのことかもほぼ理解しておりません。 仕事場で勉強することはできないので、家で勉強をしようと思うのですが、何を用意すればいいのかまったくわかりません。 上記のことが練習勉強できるようにするには、家で何をそろえればいいのでしょうか? 僕の理解度としては以下のとおりです。 (1)apache = サーバ? (2)postgreSQL = データベース? (3)PHP = web専用のプログラミング言語? 最後に?がついているのはこんなもんかな?としてしか理解していないからです。 よろしければいろいろご教授お願いいたします。

  • 波線、あるいはWAVEDASH(~)の文字化け

    urizakaです さて、現在PostgreSQL+JSPで開発を行っているのですが、「~」(波線、あるいはWAVEDASH)という文字がどうしても文字化けして「?」と表示されてしまいます。 もちろん文字化け対策と呼ばれる方法 「 s = new String(s.getBytes("iso-8859-1"),"Shift_JIS");」 (sが「~」の入ったStringデータ) も試してみたのですが、どうしても「~」が「?」と表示されてしまいます。 psqlで見てみると、PostgreSQLに入ったデータはちゃんと「~」になっているようなのですが…やはりDBに収めるときに別の文字に変換し、JSPに持ってくる時に「~」の文字に直してあげるしかないのでしょうか?  詳しい環境は以下のようです。  ・JSDK1.4.0_01 ・PostgreSQL(WindowsNative版 7.2.1)  ・Windows2000(本番稼動時にはRedHatLinux7.3の予定)  ・ApacheTomcat4.0    すみませんが、よろしくお願いします。

    • ベストアンサー
    • Java
  • PHPとPostgreSQLとの連携

    今、WindowsXPでPHPとPostgreSQLを連携 させたいのですがなかなか上手く行きません。 どなたか、分かる方がいれば宜しくお願いします。 環境 OS→Windows HomeEdition Apache→Apache HTTP Serber2.0.59 PHP→PHP4.4.4 PostgreSQL→PostgreSQL8.1.4 です。 PostgreSQLの中にtest_dbというデータベースをつくり setuzoku.phpから接続できるかどうかのif文を作り確認 していますが、何度やっても接続失敗と出ます。 <?php $con = pg_connect("user='postgres' dbname='test_db' password='grjtf'"); if (! $con) { print "接続失敗"; } else { print "接続成功"; } ?>

  • PostgreSQL8.1とPHP5でwebアプリをつくりたいのに環境設定がわかりません…

     Linuxの初心者です。PostgreSQLとPHP5でwebアプリをつくりたいのですが、環境が構築できずに困っています。現時点での環境を以下に記します。 OS ; Fedora Core 6 server ; apache 2.2.3 DB ; PostgreSQL 8.1.4 言語 ; PHP 5.1.6 Fedora Core 6 をインストールする時に apache と PostgreSQL と PHP はインストールされていました。そして以下の様に設定ファイルを書き直しました(今回の質問に関わりのなさそうなものは省いていますが、なにぶん初心者のため、なにか足りないものがありましたら教えていただきたいと思います)。 ・apache /etc/httpd/conf/httpd.conf    265 ServerName localhost:80 748 AddDefaultCharset EUC-JP ・PHP /etc/php.ini 777 pgsql.allow_persistent = On 781 pgsql.auto_reset_persistent = 0 784 pgsql.max_persistent = -1 787 pgsql.max_links = -1 791 pgsql.ignore_notice = 0 795 pgsql.log_notice = 0 ・PostgreSQL /var/lib/pgsql/data/postgresql.conf       49 listen_addresses = '*' 52 port = 5432 ・PostgreSQL /var/lib/pgsql/data/pg_hba.conf local all all ident sameuser host all all 127.0.0.1/32 ident sameuser host all all ::1/128 ident sameuser host all 0.0.0.0 0.0.0.0 trust  スクリプト内で pg_connect() 関数を使って PostgreSQL に接続しようとすると、  Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?  Warning: pg_last_error() [function.pg-last-error]: No PostgreSQL link opened yet  というエラーが出てしまうのです。  調べてみたら php-pgsql という拡張モジュールがインストールされていたにも関わらずに、phpinfo() の configure に --with-pgsql が見当たらないのです。パッケージでインストールしたためにオプションが付いていなかったのでしょうか。 こちらのサイトで似たような質問があって読んだのですが、どこのディレクトリで configure をやり直したらいいのか、make clean コマンドで一回オプションを全て消さないとだめなのかがわからなくて困っています。  どなたか詳しい方がいらしたら、教えてください。  よろしくお願いいたします。