人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのエラーについての質問です。
Warning: Unexpected character in input: ' in /以下ファイルのパス on line 1633
というエラーがたまに表示されて困っています。
エラーが発生した際の状況は下記の通りです

・携帯電話で送信をした場合(PCでは発生せず。また、絵文字は入力していません。)
・10回に1回くらいの割合(残りの9回は問題なく送信されます)
・まったく同じ入力内容で繰り返し送ってみても、上記割合でエラーが出たり出なかったりします。(絵文字は入力していません。)
・エラーの発生する行番号が毎回変わる。(したがって1633行目が悪いわけではない?一応記載しておくと$s = substr($str, $i, 2);という行です。)
・エラーの内容についても毎回変わってしまっています。(他のエラー文は記録できませんでした)
・使用しているサーバは「Apache/1.3.33 (Unix) PHP/4.3.9」です。
・単純な;抜けなど文法エラーについては全てチェック済みと考えてください。

上記のような状況で思い当たる原因などありますでしょうか。
以上、よろしくお願いします。

●質問者: n_maco2
●カテゴリ:インターネット ウェブ制作
✍キーワード:Apache ON pc PHP STR
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tezcello
●35ポイント ベストアンサー

携帯電話からの入力だと、Shift-JIS ですよね?

UTF-8にしないと正しく動作しない関数を利用していませんか(mbstring 系)

内部コードとの不一致や、マルチバイト文字が使えない関数を使用しているとか。


ただ、これでは同一内容の送信の処理を失敗する説明にはなっていませんが、エラーの個所が不定の時はそうだった経験が何度かあります。


さらに、関数が失敗している時にチャンと対処していなくて似たような症状を示したような記憶もあります。

◎質問者からの返答

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

>UTF-8にしないと正しく動作しない関数を利用していませんか(mbstring 系)

上記は考えていませんでした、チェックしてみます!

参考になりました、ありがとうございます


2 ● aiaina
●35ポイント

文字コードがShift-JISの場合「表」のような文字は文字化けの原因となります。

Shift-JISは2バイトコードなので2バイト目が「\」と解釈され、次の文字(おそらく改行)がエスケープされるためおきていると思われます

◎質問者からの返答

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

>字コードがShift-JISの場合「表」のような文字は文字化けの原因となります。

この現象であれば、文字化けが発生する可能性はありますが、今回のエラーの原因とはならないのではないでしょうか。

それに、質問には記載しておりませんでしたが、何もフォームに入力せずに送ったとしても発生する症状でしたので・・・

ありがとうございました

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ