quercus-4.0.1(java下的php)中文编码的bug解决方法

很喜欢这个java下的php环境,可惜一直bug一大堆,好不容易盼来4.0,中文编码问题还是很多,大致解决了几个。

1.unicode编码第三个字符错位问题,一个低级错误,估计是copy了一行忘了改,哈
com.caucho.vfs.ReaderStream 111行

buf[i++] = (byte) (0x80 | ((ch >> 6) & 0x3f));

改为

buf[i++] = (byte) (0x80 | ((ch) & 0x3f));


2.xml_parse_into_struct中文问题
com.caucho.quercus.lib.xml.Xml 439~441行都注释掉

//if (_xmlString.isUnicode())
// is = new InputSource(_xmlString.toReader("utf-8"));
//else
is = new InputSource(_xmlString.toInputStream());


3.PDO中文sql查询乱码问题
com.caucho.quercus.lib.db.PDO 151行改为

private static String ENCODING = "UTF-8";


4.类成员变量名编码问题,这个问题比较严重,会影响__get魔术方法的使用
com.caucho.quercus.parser.ClassScope 112行改为

_cl.addValue(new UnicodeValueImpl(name), value, visibility, comment);


另外还有stream_get_contents有编码问题,可以用file_get_contents代替着用。
还有很傻的_SERVER数组访问时不能加引号的问题,小问题还是很多,懒得去改了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值