替换本机PHP函数以使其符合unicode

时间:2014-07-12 17:40:27

标签: php unicode utf-8

目前我管理的(PHP5.4)Web应用程序不支持unicode字符,所以我想转换它以支持unicode(utf-8)。由于未来版本(PHP6)可能提供本机unicode支持,我想保持原始的本机函数(例如trim(),strtoupper()等)完好无损。基本上我想覆盖现有的内置函数来做到这一点。

到目前为止,我提出的解决方案是为每个页面创建一个包含相关函数的大型包含文件并使用名称空间,例如:

    namespace my_ns;
    mb_internal_encoding("UTF-8");

    function strtoupper()
    {
        $args = func_get_args();
        return call_user_func_array('mb_strtoupper', $args );   
    }

但是,为了使其工作,我必须将命名空间添加到每个文件,因为命名空间显然绑定到单个php文件。

我的问题是:这是最好的前进方式还是有更好的方法?有没有办法自动“自动加载”命名空间?

帮助表示赞赏

更新

我发现在php.ini文件中更改mbstring.func_overload可以覆盖现有的函数,所以我想回答我的问题。

0 个答案:

没有答案