Home > Backend Development > PHP Tutorial > strtoupper来导致中文乱码么

strtoupper来导致中文乱码么

WBOY
Release: 2016-06-13 12:32:35
Original
1325 people have browsed it

strtoupper回导致中文乱码么

本帖最后由 molaifeng 于 2013-11-25 09:04:16 编辑     在部署项目时,遇到一个奇怪的问题,页面打开后,php脚本嵌套在html页面里的部分出现乱码,数据库是没问题的。后来定位,发现问题出现在这段代码上(tp框架)。

<br />
/**<br />
 * 获取和设置语言定义(不区分大小写)<br />
 * @param string|array $name 语言变量<br />
 * @param string $value 语言值<br />
 * @return mixed<br />
 */<br />
function L($name=null, $value=null) {<br />
    static $_lang = array();<br />
    // 空参数返回所有定义<br />
    if (empty($name))<br />
        return $_lang;<br />
    // 判断语言获取(或设置)<br />
    // 若不存在,直接返回全大写$name<br />
    if (is_string($name)) {<br />
        echo $name, ' ';<br />
        $name = strtoupper($name);echo $name;<br />
        if (is_null($value))<br />
            return isset($_lang[$name]) ? $_lang[$name] : $name;<br />
        $_lang[$name] = $value; // 语言定义<br />
        return;<br />
    }<br />
    // 批量定义<br />
    if (is_array($name))<br />
        $_lang = array_merge($_lang, array_change_key_case($name, CASE_UPPER));<br />
    return;<br />
}<br />
<br />
Copy after login



后来,把那个strtoupper该成了mb_strtoupper
<br />
$name = mb_strtoupper($name, 'UTF-8');<br />
Copy after login

这个项目部署在其他服务器时没出现这个问题啊,哪位大大解释下,谢谢!!!
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template