プロが教えるわが家の防犯対策術!

業務で使用しているデータベースにあるキーワードを入れると
「Fatal error: Call to undefined method RDBMS::outputError()」
と表示されてしまいます。
このエラーの意味がよく分かりません。

A=問題の1文字漢字
@=その他の漢字

@@@@@ では問題なく
A@@@@ でも問題なく
@@@@A では必ずエラーが表示されます。
@@@A  でもアウトです。

文字数制限でもないようですし、常用漢字でないわけでもありません。
いったい何が原因なのでしょうか?

ご存知の方いらっしゃいましたら、よろしくお願いいたします。

A 回答 (3件)

クォーテーション「'」で囲ってもだめですか?


'@@@@A'
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

「’」で括っても変化ありませんでした。
基本入力するときは一切括らずに、
そのまま打ち込みをしていますが全く問題は出ていませんでした。

お礼日時:2009/10/09 08:52

>「Fatal error: Call to undefined method RDBMS::outputError()」


このエラーに関してですが、
RDBMSというクラスに「outputError」というメソッド(メンバ関数)が存在しないことをうったえてます。
つまるところ、プログラムに記述ミスがあるということなんですけど、
作成者は質問者さんご本人ではないのでしょうか?

どちらにしても、「outputError」という名前から想像するに、入力した値が良くないものなのだろうと判断は付きます。

つきまして、
http://www.shtml.jp/mojibake/sjis_cgi.html
「A」の漢字は、上記URLに記載されている漢字のうちのどれかではないですか?
もしそうだとすると、プログラムでちゃんと文字コードの判定とかが出来ておらずエラーを引き起こしている可能性が高いです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>作成者は質問者さんご本人ではないのでしょうか?
はい。すでに組まれていて使用されているデータベースに入力
作業されている方から「なぜかエラーが表示されて入力できない」と
質問があり理由がよく分からなかったので質問させていただきました。

Aは「法」という文字なのですが
「行政法人」ではOK
「道路交通法」「商法」ではアウト なのです。

>「outputError」という名前から想像するに、
入力した値が良くないものなのだろうと判断は付きます。
登録済みキーワード(単語)のみの受付で、それ以外ははじかれるということでしょうか? いろいろ操作していたときに出鱈目な
文字列に「法」を混ぜ込んで入力してもOKだったので、
「なぜ語尾に法をつけるとダメなんだろう」という疑問でした。

作成者がすでに退職しているため、なにか上手い方法はないだろうか
と思った次第なんです。
現在は略語を用いて、入力できていない「@@法」を意味する
表示をするようにしています。

私自身ももっと勉強していかなければいけないですね。

お礼日時:2009/10/09 09:54

今回ご案内した内容は、入力された漢字の文字コードが「Shift_JIS」だった場合、「ソ」や、「表」などの文字が別の文字コードで見た場合、「¥(エンマーク)」が含まれており、その場合、プログラムやSQL文でエラーが起こる可能性があることを示したものでした。



しかし、今回「法」という文字とのことなので、上記の内容には適合しないわけですが、「法」という文字も他の文字コードで見た場合、「@(アットマーク)」が含まれている文字です。
このたびご利用されているプログラムやデータベースでアットマークが最後に含まれていると誤動作を起こすといった可能性はあるのかもしれませんね。このようなことが起こる文字は他に、「諭」、「蓮」などがありますが、これらの文字を最後尾に記述したときに同様なエラーが起こるようであれば仮説は正しいのかなと。

で、回避方法に関しては、プログラムを修正するか、既に質問者さんが行っているような方法しか逃げ道は無いかなといった感じです。
最後に全角スペースや半角スペースを入力してごまかす方法ではどうでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
非常に遅い御礼となってしまい申し訳ございません。

プログラムを修正するのは困難ですので、ごまかし利用を続けていくことになりました。
ご相談にのっていただきありがとうございました。

お礼日時:2010/05/28 10:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!