2013-03-05 60 views
0

我成功使用最新的樹脂罐(來自http://www.caucho.com/download/),允許我在我的Grails Web應用程序中利用遺留PHP代碼。除了非ASCII字符集外,一切都很好。Quercus PHP Grails字符編碼問題

這些字符顯示爲問號,看起來像這樣: ???? ?? ???

我已經試過了多種解決方案:

從設置php.ini中是UTF8,以確保extension=php_mbstring.dll包含在php.ini中。 我也確保將MySQL數據庫配置爲執行utf-8。存儲在數據庫中的字符在phpMyAdmin中正確顯示。
此外,我能夠做一個die("BLAH"),其中BLAH是非ASCII文本,它會正確輸出到瀏覽器。我的瀏覽器在所有頁面上顯示內容標題utf-8。

另一個踢球的是,我能夠採取內的Grails運行的PHP代碼庫,並運行它的SAME機上WAMP服務器內,連接到SAME的MySQL數據庫,並將其輸出非-ASCII字符就好了。

我的感覺是,它是從MySQL到PHP在Grails中運行的數據傳輸問題(請記住,它可以從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版本:Grails中5.0.22
  • PHP版本(樹脂/櫟):5.3.2
  • PHP版本在WAMP:5.1.4
  • Grails的版本2.2

我已經試過各種我在網上找到,但沒有運氣...感謝您的幫助!

回答