• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

strtoupper来导致中文乱码么

php 搞代码 3年前 (2022-01-24) 16次浏览 已收录 0个评论

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 />    retur<a>2本文来源gao*daima.com搞@代#码&网6</a><pre>搞gaodaima代码

n;
}

后来,把那个strtoupper该成了mb_strtoupper

<br />$name = mb_strtoupper($name, 'UTF-8');<br />

这个项目部署在其他服务器时没出现这个问题啊,哪位大大解释下,谢谢!!!

发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址