• tp框架下,数据库和编辑器都是utf-8, 输出中文却还是乱码


    输出:

    array(2) { [0]=> array(4) { ["id"]=> string(1) "1" ["user"]=> string(6) "鏄�悧"  ##乱码

    说明: PHPstudy集成环境中的nts(非线性安全)下,在window本地是禁止路由的,但是PHP5.6版本以下,中文输出会乱码。

    http://www.tp.com/index.php/Home/User/model
    
    例如上面的url, 你想省略掉index.php,毕竟懒人都不想写太长的url, 
    
    如果是用 nts模式 的PHP版本,因为它禁止路由, 所以你去掉index.php就会报错, 如下:
    No input
    file specified.

    所以, 解决方法有两个:

    1),选择版本PHP5.6以上的这两个版本;如下图

    2),在tp框架的controller基类声明字符编码;

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    namespace Think;
    
    // phpstudy环境下,如果是NTS(非线性安全)会是乱码
    header("content-type:text/html; charset=utf-8"); ## 就加多这一句即可
    
    /**
     * ThinkPHP 控制器基类 抽象类
     */
    abstract class Controller {
    
        /**
         * 视图实例对象
         * @var view
         * @access protected
         */    
        protected $view     =  null;
    
       。。。。。。
    
    }

    效果好了如下:

    array(2) { [0]=> array(4) { ["id"]=> string(1) "1" ["user"]=> string(6) "是吗"  。。。 ##正常

     结果: 因为我既需要路由(既不是nts模式的PHP版本), 又需要中文输出正常, 所以我选择第二种方式。

  • 相关阅读:
    C++/CLI中的资源清理(Destructor,Finalizer
    c++/cli 之数据库操作
    利用139,189,yahoo等邮箱短信提示来免费发短信提示
    小例子复习下委托的应用
    c++/cli 之日志记录
    c++/cli 之异步Socket完成端口实例
    C++/CLI, Finalize and Dispose
    C/C++的位运算符操作
    实现自定义控件与背景图完全重叠
    RichTextBox与NotifyIcon简单模仿QQ效果
  • 原文地址:https://www.cnblogs.com/pyspang/p/10033217.html
Copyright © 2020-2023  润新知