Quercus PHP Grails字符编码问题

时间:2013-03-05 20:28:46

标签: php grails resin quercus

我成功使用最新的树脂罐(来自http://www.caucho.com/download/),允许我在Grails Web应用程序中使用遗留的PHP代码。除非非ASCII字符集外,所有内容都呈现出色。

  

这些字符显示为问号,如下所示:   的 ???? ?? ???

我尝试了很多解决方案:

从设置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到运行在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的PHP版本(resin / Quercus): 5.3.2
  • WAMP中的PHP版本: 5.1.4
  • Grails版 2.2

我已尝试过我在网上找到的所有内容,但没有运气......感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Quercus的下一个版本(4.0.36)修复了MySQL编码的长期问题。参见:

http://forum.caucho.com/showthread.php?p=36255#post36255