• 締切済み

PHPのWeb登録システムの日本語対策

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

noname#14329
noname#14329

みんなの回答

  • vais
  • ベストアンサー率75% (47/62)
回答No.1

ここで回答することもできるのですが、題目的に以下のスレッドが適正かと思いますよ。 教えて!goo > コンピューター [技術者向け] > プログラミング > PHP (同じ事を疑問に思った方が今後に出てきた時に、あなたの質問が役に立つかもしれません。そういう意味で適性な場所での投稿が良いと判断しましたので)  こちらはいったん閉じられる事をお勧めします。

関連するQ&A

  • PHP日本語対策

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

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

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

    • ベストアンサー
    • PHP
  • phpからMySQLへ日本語insert

    phpプログラムからMySQLへ日本語の入力を行おうとしているのですが、 selectで閲覧してみても、文字化けどころか挿入すらされていませんでした。 コードは以下のような実にシンプルなものです <?php require_once'DB.php'; $username = "****"; $password = "*****"; $host = "localhost"; $database = "udb"; $db = DB::connect("mysql://$username:$password@$host/$database"); //DB接続 if (DB::isError( $db )) { die($db->getMessage()); } $sql = "INSERT INTO comments (lec_code, comment) VALUES (0000, 'ああああ')"; $result = mysql_query($sql); ?> 日本語でなく、英語でinsertした場合は問題なく挿入できました。 また、MySQLから直接SQL文での入力であれば日本語をinsertできたので、設定ミスが問題なのであればMySQLではなくphp側だと思われます。 ちなみに、MySQLの文字設定はsjis、phpの設定は以下のとおりです。 output_buffering Off default_charset "Shift_JIS" extension php_mbstring.dll mbstring.language Japanese mbstring.internal_encoding SJIS mbstring.http_input auto mbstring.http_output SJIS mbstring.encoding_translation On mbstring.detect_order auto mbstring.substitute_character none

    • ベストアンサー
    • PHP
  • 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でデータを登録できないのでしょうか? どこをどのようにすればいいのかわかりません。 初歩的で申し訳ありませんがアドバイスお願いします。

  • 韓国語を登録するには

    PHPで作成したスクリプトから韓国語をデータベースに登録したいのですが、???となってしまいます。 データベースはEUC-JPのようなのですが、日本語、英語は文字化けなく登録できます。しかし韓国語などは文字化けしてしまいます。 どうすればいいのでしょうか?

    • ベストアンサー
    • MySQL
  • PHPで入力した内容をMYSQLに登録するとエラーが表示。

    PHPで入力した内容をMYSQLに登録するとエラーが表示。 PHP側のフォームにパソコンと入力しMYSQL側に登録すると、 DB Error unknown errorと表示されていますが、 MYSQLのデータベースの中を確認すると、パソコンと登録されています。 PHPとMYSQLはsjisで設定します。 このエラーの回避は出来るのでしょうか?ご教授お願いします。

    • 締切済み
    • PHP
  • 文字化け回避できません

    MYSQL入門以前という本を購入し、MYSQLとPHPの勉強をしています。例題である住所録をPHPを使って作成しました。フォームから氏名等登録すると、登録された内容がブラウザへ表示される形になっています。ブラウザには文字化けも無く日本語がきちんと表示されているのですが、ターミナル、PHPMyadminでテーブルの内容を見てみると文字化けしています。 apache 1.3.3 MYSQL 4.0.26 PHP 4.4.1 Mac OS X 10.4.8 my.cnfの内容 [mysqld] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis php.iniのdefault_charset部分 default_charset="Shift_JIS" ターミナル→ウィンドウ設定→ディスプレイ部分 文字セットエンコーディングUTF-8 PHPMyAdmin 言語 UTF-8 文字化けを回避するにはどれをどうすればいいのか素人なので全然わかりません。教えてください。

    • 締切済み
    • PHP
  • 日本語表示する方法について

    LAPP環境下での開発を行っていますがまだまだ初心者でなかなか前に進みません。 →PostgreSQL (8.3.4) PHP (5.2.6) 現在、作成したプログラムを確認する際にWebブラウザで確認しているのですが DBから引っ張ってくるデータが文字化けしてその解決策が判らず困っています。EUC→Shift_JISがうまくいきません。 DB側の問題なのか、プログラム側の問題なのかも判断つきません。 <php.ini> php.iniは以下の設定を変更しました。 magic_quotes_gpc=off output_bufferring=on output_handler=mb_output_handler default_charset=Shift_JIS mbstring.language = japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none <HTML> HTMLは関係するのはheadタグのみかと思い以下のように設定しています。 charset=Shift_JISと設定しています。 以上方法論等どなたかご教授頂けないでしょうか。

    • 締切済み
    • PHP
  • ウェブサイト上での日本語の表示について

    ドリームウィ-バで英語が基本のウェブページを作成中ですが、どうすれば日本語の表示ができるのか、どの様にcharactarを設定すればよいか教えてください。(charset=iso-8859-1 ではだめですよね?/ドリームウィ-バを使わなければ良いのでしょうか?) 宜しくお願いします。 裕子

    • 締切済み
    • CSS
  • データベースから取り出した日本語が化けるのですが

    PHP初心者です。 データベースから取り出した日本語が化けるのでなにか直す方法は無いものかと悩んでおります。今のところアルファベット、数字は問題ありません。 構成はこんなかんじです。 Linux : Vine 2.5 PHP : PHP-4.2.1 DB : Postgresql-7.2 apache 1.3.26 現象: クライアントPCからwebでデータベースに日本語入力は出来ます。 データベースにターミナルから直接入り(psql [DB名])、(select * from [テーブル名];)で確認すると問題無く登録した通りに入っています。 クライアントPCからwebでデータベースの検索をして 拾い出したデータをクライアントPCのweb上で表示をすると文字化けし、 登録した文字とはほどとおいものが出て来ます。 "あ"と登録すると $$ などと出て来ます。 なにかいい方法がありましたら、教えて下さい。

    • 締切済み
    • PHP