invalid byte sequence for encoding "EUC_JP":0x904b について

このQ&Aのポイント
  • こちらのPHPスクリプトを設置したのですが、データベースに書き込みができません。
  • pgsql/server.logに以下の文章が記録されます。invalid byte sequence for encoding "EUC_JP":0x904b
  • phpソースの中にx-sjisという部分があるので、そこをEUC_JPに書き換えたのですが、ページが真っ白になってしまいました。
回答を見る
  • ベストアンサー

invalid byte sequence for encoding "EUC_JP":0x904b について

http://www.komonet.ne.jp/script/db_group.htm http://www.komonet.ne.jp/script.htm こちらのPHPスクリプトを設置したのですが、データベースに書き込みができません。 データベースの名前とユーザー名も正しいのですが、 pgsql/server.logに以下の文章が記録されます。 invalid byte sequence for encoding "EUC_JP":0x904b どうしたら直るのでしょうか? phpソースの中にx-sjisという部分があるので、そこをEUC_JPに書き換えたのですが、ページが真っ白になってしまいました。 ただいま勉強中ですので、どなたか教えていただけないでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

EUCは、 1バイト目:A1~FE 2バイト目:A1~FE なので、 904B は、その範囲にありません。 つまり、書かれているコードをEUCとして理解できませんということです。(EUCのコードとして不適当) ちゃんとEUCで書く(あるいはコード変換してやる)必要があります。

father001
質問者

お礼

ありがとうございました。 ソースをEUCで書き直したら直りました。

関連するQ&A

  • PostgreSQLでエラーinvalid byte sequence for encoding "EUC_JP": 0x9363

    教えてください。 ■環境 Apache2 PHP5 PostgreSQL8 すべて文字コードEUC-JP PHP5にてcsvファイルを取り込み mb_convert_encodingでSJIS→EUC-JPへと変換後 PostgreSQLへinsertしているのですが、 下記エラーが発生してしまいます。 PostgreSQLでエラーinvalid byte sequence for encoding "EUC_JP": 0x9363 http://shimax.cocolog-nifty.com/search/2005/06/invalid_byte_se_6658.html 上記にヒントがありますが、 解決に至っておりません。 取り込めないcsvデータを添付しますので、 どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • EUC_JPにない文字のshiftJISからの変換処理

    http://okwave.jp/qa757480.html ここにある質問と同じ状況になっています。 shiftJISの文字列をEUC_JPに変換したところ、 invalid byte sequence for encoding "EUC_JP" というエラーが出ました。 EUCにない文字なので変換が出来ないのはわかるのですが、ではその場合どのような処理が妥当でしょうか。 テキストデータから文字を取り込んでいるので最初から文字をEUC_JPやUTF-8で文字列を作ることができません。 EUCにない文字はどうやっても変換できないので代替文字もしくは記号を置くことで解決しようかと思ったのですが、そうするとどの文字がshiftJISにあってEUCにないかの一覧がないとどうしようもないかと思います。 この場合はどうするのが良いかアドバイスいただけませんでしょうか。

    • ベストアンサー
    • Perl
  • INSERTができない

    現在、PostgreSQLを使用し、簡単なテストを しようと思っております。私は素人です。 ただ、下記の問題にぶち当たってます。 createdb --encoding EUC_JP test で「test」というDBを"EUC_JP"で作成 /var/lib/pgsql/data/postgresql.conf の client_encoding = EUC_JP を変更し、 posgre再起動。 INSERT INTO test VALUES (1,'山田太郎'); というINSERT文を投入したところ、下記エラーが発生。 ERROR: invalid byte sequence for encoding "EUC_JP": 0x8be9 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". これってどうなんでしょう。 申し訳ないですが素人の私に教えてください!! よろしくお願いいたします。

  • phpMyAdmin - 2.8.2.4で『EUC-JP』を使うには?

    レンタルサーバでPHP+MySql(EUC-JP)で構築しています。 phpMyAdmin - 2.6.3-pl1 では、ja-eucがデフォルトだったのでphpやDBをEUC-JPで設計しました。DBにインポートするテキストファイルもEUC⇒EUCなのでphpMyAdmin上でも、ブラウザ上(php)でも問題なく表示されていました。 しかし、 phpMyAdmin - 2.8.2.4 では、ja-eucが無くなってしまったため、 仕方なくUTF8でテキストを作成し、UTF8⇒EUCインポートを実行しました。 すると、phpMyAdmin上では普通に表示されるものの、 php(html)では完全に文字化けしてしまいます。 文字化けしているのはデータベースから取得した値のみです。 ソースファイルは全く同じで、異なるのはphpMyAdminのバージョンだけなのでどう対処すればよいかわかりません。 どうやったら文字化けせずに表示できるでしょうか?

    • ベストアンサー
    • PHP
  • エンコードをEUC-JP⇒ShiftJISに変えたい

    モバイル用サイトをEUC-JPで作ってしまったので、Shift-JISに変えたいのですが、 どのように変えれば良いのでしょうか? PHP、MySQLの設定ではEUC-JPです。 METAタグでShift-JISに変えてみましたし、 PHPでエンコーディングをShift-JISに設定したのですが、変わりません。 -------------------------------------------------------------- <meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> mb_internal_encoding("SJIS"); -------------------------------------------------------------- また一から作り直すしか術はないのでしょうか・・・?

    • 締切済み
    • PHP
  • psqlの文字コードエラー

    psqlでDBを作りたいのですが データを入力する際に、invalid byte sequence for encoding "EUC_JP"というエラーが出て日本語の入力ができません。 使用しているOSは Fedora Coreで 文字コードを UTP-8を変換しようとしています よろしくお願いします。

  • phpがsjisファイルを勝手にeuc-jpに

    変更してブラウザに表示してしまうのですが どうしたらこのような変換をやめさせることができるでしょうか? phpinfo()を見てみると  PHP Core ・・・・・・・・・・・・ default_charset EUC-JP(local value) EUC-JP(master value) ・・・・・・・・・・・・  mbstring ・・・・・・・・・・・・ mbstring.http_output EUC-JP(local value) EUC-JP(master value) mbstring.internal_encoding EUC-JP(local value) EUC-JP(master value) ・・・・・・・・・・・・ となっています。 このEUC-JPをsjisに変更したらいいのでしょうか? そうだとするとその方法を教えてください。

    • ベストアンサー
    • PHP
  • データベースリストア時にエラーがー

    RedHatのPostgresql7.2.4で稼動しているデータベースhogehogeを windowsの8.2.4で稼動させようとしています。 最初にpgdumpでデータベースhogehogeを取り出し、それをwindowsからFFFTPで取得、 その後pgADMINIIIでリストアしようとしましたが、 データを選択しても実行ボタンがアクティブにならなかったので、 コマンドラインを使って createdb -U postgres --encoding=EUC_JP hogehoge psql -U postgres -e -f c:\files\hogehoge hogehoge としました。 すると psql:c:/files/hogehoge:181: ERROR: invalid byte sequence for encoding "SJIS": 0xf309 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". CONTEXT: COPY hogehoge_hage, line 1 というようなエラーがいくつか出てきます。 client_encodingをEUC_JPにしてみましたがやはり同じエラーが 出ました。 元のRedHatでのエンコードはEUC_JPになっています。 どなたか解決法をご存知の方がおられましたらご教授お願いします。

  • PHPでUTF-8からEUC-JPにエンコディングしたときに、一部の文

    PHPでUTF-8からEUC-JPにエンコディングしたときに、一部の文字が文字化けしてしまいます。(1)という文字です。データベースをEUCで作っていて、すでに色々なデータが入っているので、データベースをUTF-8とするわけにもいかないでの、なんとかEUCで保存しようとしているのですが・・・。 "テスト(1)"(UTF-8)をmb_convert_encodingでEUCにして、保存しますと、"テスト?"となっています。 テスト(1)をUTF-8の状態でブラウザで確認しますと、文字化けしないできちんと「テスト(1)」と表示されます。やはり、Mysqlに保存するときに文字化けしています。どなたか、似たような経験のある方がおりその原因がお分かりでしたら、教えてください。SJISにあるようなダメ文字というものなのでしょうか。確か「まぐまぐ」というメルマガの編集でも(1)という文字は使えませんでした。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • euc-jpからutf-8の文字コード変換について

    現在、何らかのhtmlを取得する際にはurf-8で統一しようと思っているのですが、 たとえば <?php $f=file_get_contents("http://blog.livedoor.jp/dqnplus/")//文字コードEUC-JP; $f = mb_convert_encoding($f,"utf-8","eucjp-win,utf-8,sjis-win,EUC-JP"); echo $f; ?> では、EUC-JPからの変換がうまくいきません。 ……というより、EUC-JPのエンコーディングのみ失敗してしまいます。 (文字化けしたもののみ抽出すると、すべてEUC-JPでした) どのようなコードを書けば、正常にエンコードできるでしょうか。 どなたかご教示のほど、どうかよろしくお願いいたします。

    • 締切済み
    • PHP