最近、apache2を実行している専用のubuntuサーバーからnginxを実行している専用のdebian6サーバーにWebサイトを移行しました。
このウェブサイトはCakePHP2.0+ ichikawayのmongodbプラグインを使用しています(したがってMongoDBを使用しています)
サーバーを変更したので、「タグ」サブドキュメントを「français」や「èéï」などの特殊文字で保存しようとすると、奇妙な通知が表示されます。
他のコントローラー/モデル/コレクションで機能します(たとえば、特別な文字を使用して新しいコメントを保存する場合など)。
私はすでにnginxにutf-8の使用を強制しています。すべてのウェブサイトのページには、メタ文字セットutf-8があり、すべての.php(および.ctp)スクリプトはutf-8でエンコードされています。また、utf8_encode()とutf8_encode(utf8_decode())を強制しようとしました(ええ、それは悪いです...)文字列のバグでも同じエラーが発生しました。
これが通知です:(そしてドキュメントが保存されていないことに注意してください)
Notice (1024): non-utf8 string: fran��ais [APP/Plugin/Mongodb/Model/Datasource/MongodbSource.php, line 715]
そして文脈:
MongodbSource::update() - APP/Plugin/Mongodb/Model/Datasource/MongodbSource.php, line 715
Model::save() - CORE/Cake/Model/Model.php, line 1614
FiltersController::edit() - APP/Plugin/Administration/Controller/FiltersController.php, line 137
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 473
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 107
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 89
[main] - APP/webroot/index.php, line 96
私を救うために「スタックオーバーフローの神」を祈っています。以前のように機能させるために、もうどこを見ればよいのか本当にわかりません:(
読んでいただきありがとうございます。