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

替换本机PHP函数以使其符合unicode,php,unicode,utf-8,Php,Unicode,Utf 8,目前,我管理的(PHP5.4)web应用程序不支持unicode字符,因此我希望将其转换为支持unicode(utf-8)。由于未来版本(PHP6)可能提供本机unicode支持,我希望保留原始本机函数(例如trim()、strtoupper()等)。基本上,我想覆盖现有的内置函数来实现这一点 到目前为止,我提出的解决方案是为每个页面创建一个包含相关函数的大文件,并使用名称空间,例如: namespace my_ns; mb_internal_encoding("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_重载可以覆盖现有函数,所以我想这就回答了我的问题

想要在PHP6中与Unicode处理实现前向兼容是毫无意义的,因为没有人知道它会是什么样子,何时出现,以及如何处理兼容性。最有可能的是,无论如何,你都必须重写你的应用程序。