一开始使用的是mysql,数据库的编码是UTF-8

后来换数据库,mysql换成mssql2005,数据库编码为GBK,管理菜单出现乱码,如下所示(左图正常,右图乱码)

解决方法如下:

第一,查看数据库,找到数据表:ch_node,找到需要进行转码的字段

第二,打开 “ 项目名/Admin/Lib/Action/UiAction.class.php”

在  public function menu($from='') {} 中,将读取出来的中文字段进行转码

如上图,添加红色框标志的中文转码后,保存,刷新界面,正常显示了。

如果是“文章管理”的下一级栏目乱码,如图红框部分是乱码显示的情况!@_@~

看下数据库,数据表 ch_category,找到需要进行转码的字段,

^_^ 还是进行转码处理!!

打开 项目名/Admin/Lib/Model/CategoryModel.class.php

找到下面这个函数:

public function tree($map=array('classpid'=>0),$link='',$selparent=''){}

修改如下:

public function tree($map=array('classpid'=>0),$link='',$selparent=''){
$return = '';
if($link==''){
if($_REQUEST['cid']!='' || $_REQUEST['cname']!=''){ //附加“清空”按钮
$return .= '<ul class="tree treeFolder">';
$return .= ' <li><a href="javascript:;" style="color:red" onclick="$(\'#'.$_REQUEST['cid'].'\').val(\'\');$(\'#'.$_REQUEST['cname'].'\').val(\'\');">清空重置</a></li>';
$return .= '</ul>';
}
}
$list = M('Category')->field('classid,classpid,classtitle,classchild,classarrchildids, classmodule')->where($map)->select();
if($list){
if($link=='info_addview'){
$return .= '<ul>';
}else{
$return .= '<ul class="tree treeFolder expand collapse">';
}
foreach($list as $rs){
if($rs['classpid']==0){
if($link=='edit'){
$strlink =
'<a class="edit" href="__APP__/Category/edit/classid/'.$rs['classid'].'" target="dialog" width="700" height="550" rel="'.$rs['classid'].'">'.iconv('GBK','UTF-8',$rs['classtitle']).'</a>';
}elseif($link=='info_addview'){
$strlink =
'<a class="info_addview" href="__APP__/'.$rs['classmodule'].'/index/tid/'.$rs['classid'].'" target="navTab" rel="'.$rs['classmodule'].'">'.iconv('GBK','UTF-8',$rs['classtitle']).'</a>';
}else{
$strlink =
'<a href="javascript:;"'.(($selparent || !$rs['classchild']) ? ' onclick="selectClass(\''.$rs['classid'].'\',\''.iconv('GBK','UTF-8',$rs['classtitle']).'\');"' : '').'>'.iconv('GBK','UTF-8',$rs['classtitle']).'</a>';
}
if($rs['classchild']==0){
$return .= '<li>'.$strlink.'</li>';
}else{
$return .= '<li>'.$strlink;
$return .= $this->_for_tree($rs['classarrchildids'], $link, $selparent);
$return .= '</li>';
}
}
}
$return .= '</ul>';
}
return $return;
}

这样就不会出现乱码啦。如果有别的菜单栏目需要转码,也是按照上面的做法,找到相应的代码文件,进行代码修改。

(^_^)~   完~

thinkphp -- 解决连接mssql后台管理菜单显示中文乱码问题(备忘)的更多相关文章

  1. 解决django的后台管理界面添加中文内容乱码问题

    在使用django migrate功能时,默认数据库的字符集不是utf8. 是latin 1,然后在后台管理model时,不允许有中文字符插入 解决方案: 在使用migrate建库之前先把数据库建立起 ...

  2. kali 解决Metasploit拿到shell后显示中文乱码问题

    拿到对方shell后显示的问题如下: 中文乱码解决: chcp 65001 然后 上传下载文件

  3. django 1.10.3 admin后台管理设置显示中文

    在网上搜索的什么设置settings.py的LANGUAE_CODE,在1.10.3下完全不行,直接报错,后来使用了django.middleware.locale.LocaleMiddleware才 ...

  4. XFTP连接主机文件名显示中文乱码且不能下载的解决方法

    Xftp连接主机文件名显示中文乱码且不能下载的本地解决方法 原因:Xftp编码格式问题 解决方法:把Xftp的编码格式增加UTF-8 具体步骤:打开Xftp,文件-属性,在打开的属性界面中打开&quo ...

  5. XShell连接 Linux系统,显示中文乱码

    摘要: Linux系统,中文显示乱码 XShell是一个强大的安全终端模拟软件,它支持SSH1, SSH2及 Microsoft Windows平台的Telnet NetSarang Xshell 4 ...

  6. RoportNG报表显示中文乱码和TestNG显示中文乱码实力解决办法

    最近在进军测试自动化框架学习阶段,但无意间总是会伴随小问题的困扰,比如中文乱码,而导致显示总是不舒服,个人觉得,就一定要解决,似乎有点点强迫症.所以遇到RoportNG报表显示中文乱码和TestNG显 ...

  7. ReportNG报表显示中文乱码和TestNG显示中文乱码实力解决办法

    最近在进军测试自动化框架学习阶段,但无意间总是会伴随小问题的困扰,比如中文乱码,而导致显示总是不舒服,个人觉得,就一定要解决,似乎有点点强迫症.所以遇到ReportNG报表显示中文乱码和TestNG显 ...

  8. secureCRT linux shell显示中文乱码 解决方法

    引:有没有这样的经历: 1.在shell中直接查看包含中文的文件时,出现一堆火星文,不得不下载下来window看. 2.无法正常的在shell中输入中文. 3.make的时候输出一堆乱码. 以下是查阅 ...

  9. Win 7英文系统显示中文乱码的解决(转)

    Win 7英文系统显示中文乱码的解决http://www.enet.com.cn/article/2011/0811/A20110811896633.shtml 请点击Startmenu并点击Cont ...

随机推荐

  1. Leetcode 9 Palindrome Number 数论

    判断一个数是否是回文数 方法是将数回转,看回转的数和原数是否相同 class Solution { public: bool isPalindrome(int x) { ) return false; ...

  2. GEF - 制作一个简单图形化编辑框架笔记1

    在首先来看看GEF是什么,GEF的全称是Graphical Editing Framework,图形化框架,可以利用此框架做图形化编.他的基本原理是采用MVC开发模式. 以下是一些例子 GEF里面包含 ...

  3. [IOS]IOS UI指南

    [IOS]IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻 ...

  4. adb devices指令实例讲解

    在讲这个指令之前,我首先启动了一个名称为“Galaxy_Nexus_4.4.2”的手机模拟器(有时我们也管其叫安卓虚拟设备),并且通过USB数据线将我的手机设备和PC进行了连接,而后我应用“Andro ...

  5. C# 动态修改dll的签名 以及修改引用该dll文件的签名

    在读取RedisSessionStateProvider配置 提到用mono ceil 来修改程序集以及它的签名,里面GetPublicKey 和GetPubliKeyToken 方法里面那个字符串的 ...

  6. 让input支持 ctrl v上传粘贴图片? 让input支持QQ截图或剪切板中的图像数据(Java实现保存)

    原理:监听粘贴 → 获取粘贴内容 → 将内容上传 → 抓取后返回替换至input 我们在生产中用到的界面: 测试地址 http://sms.reyo.cn 用户名:aa 密码:123456 以下是PH ...

  7. j$(function() j$(document).ready 区别

    $j(document).ready(function(){}); // 或者  $j(function(){}); 第一个是直接使用Jquery调用function,第二个是在文档加载完毕后才去调用 ...

  8. 便宜有好货:Oracle免费的便捷Web应用开发框架

    APEX 总体来说,APEX是我见过最便捷最高效的开发框架,用起来比PHP还舒服.上手简单,学习成本极低,曾经有个做行政的小女生,在我指导下两天就可以开发出简单的审批管理站点.如果企业要做一些内部应用 ...

  9. Windows 2012 安装 .net framework 3.5

    使用 PowerShell, 指定源文件路径然后进行安装: Install-WindowsFeature NET-Framework-Core –Source D:\Sources\sxs 使用命令提 ...

  10. SVN的文件夹链接(目录链接,目录映射,svn:externals)

    首先大家可以看下SVN的文件夹链接太强大了!(目录链接,目录映射,svn:externals),我就是看了这篇文章才敢大刀阔斧的把项目里的外链修改成正确的链接. 问题: 我们的项目里,服务器脚本工程s ...