最新のレジンジャー( http://www.caucho.com/download/から)を正常に使用して、GrailsWebアプリケーション内でレガシーPHPコードを利用できるようにしています。非ASCII文字セットを除いて、すべてが優れたレンダリングになります。
これらの文字は疑問符として表示され、次のようになります。 ???? ?? ??? 。
私は多くの解決策を試しました:
php.iniをutf8に設定することから、php.iniに含まれていることを確認することまでextension=php_mbstring.dll
。また、MySQLデータベースがutf-8を実行するように構成されていることを確認しました。データベースに保存されている文字は、phpMyAdminに正しく表示されます。
また、die("BLAH")
BLAHが非ASCIIテキストである場合、ブラウザに正しく出力されます。私のブラウザは、すべてのページにコンテンツヘッダーutf-8を表示します。
もう1つのキッカーは、Grails内で実行されているPHPコードベースを、同じマシンのWAMPサーバー内で実行し、同じMySQLデータベースに接続して、非ASCII文字を適切に出力できることです 。
私の感じでは、これはMySQLからGrailsで実行されているPHPへのデータ転送の問題です(MySQLからWAMPで実行されている同じPHPへのデータ転送の問題であることを忘れないでください)。どちらの場合もmysql_query("SET NAMES 'utf8'")
、クエリを実行する前に実行しています。
また、WAMP php.iniファイルを取得してGrailsで使用しようとしましたが、Grails PHPはまだうまく機能しません...私の一部は、GrailsのPHPがphp.iniファイルを読み取っていないと思います。いくつかのデフォルトのphp.ini(私は知りません)にフォールバックしています。
たとえば、Grails php.iniファイルを空のファイルにした場合でも、Grailsは正常に起動し、phpページをレンダリングできます。しかし、php.iniを「asdfasdf」のようなガベージテキストに設定すると、Grailsが起動しなくなります...そのため、php.iniが表示されていると思います...
追加情報:
- MySQLバージョン:5.0.22
- Grails(resin / Quercus)のPHPバージョン:5.3.2
- WAMPのPHPバージョン:5.1.4
- Grailsバージョン2.2
私はオンラインで見つけたすべてを試しましたが、運がありません...あなたの助けに感謝します!