thinkphp -- 解决连接mssql后台管理菜单显示中文乱码问题(备忘)
一开始使用的是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后台管理菜单显示中文乱码问题(备忘)的更多相关文章
- 解决django的后台管理界面添加中文内容乱码问题
在使用django migrate功能时,默认数据库的字符集不是utf8. 是latin 1,然后在后台管理model时,不允许有中文字符插入 解决方案: 在使用migrate建库之前先把数据库建立起 ...
- kali 解决Metasploit拿到shell后显示中文乱码问题
拿到对方shell后显示的问题如下: 中文乱码解决: chcp 65001 然后 上传下载文件
- django 1.10.3 admin后台管理设置显示中文
在网上搜索的什么设置settings.py的LANGUAE_CODE,在1.10.3下完全不行,直接报错,后来使用了django.middleware.locale.LocaleMiddleware才 ...
- XFTP连接主机文件名显示中文乱码且不能下载的解决方法
Xftp连接主机文件名显示中文乱码且不能下载的本地解决方法 原因:Xftp编码格式问题 解决方法:把Xftp的编码格式增加UTF-8 具体步骤:打开Xftp,文件-属性,在打开的属性界面中打开&quo ...
- XShell连接 Linux系统,显示中文乱码
摘要: Linux系统,中文显示乱码 XShell是一个强大的安全终端模拟软件,它支持SSH1, SSH2及 Microsoft Windows平台的Telnet NetSarang Xshell 4 ...
- RoportNG报表显示中文乱码和TestNG显示中文乱码实力解决办法
最近在进军测试自动化框架学习阶段,但无意间总是会伴随小问题的困扰,比如中文乱码,而导致显示总是不舒服,个人觉得,就一定要解决,似乎有点点强迫症.所以遇到RoportNG报表显示中文乱码和TestNG显 ...
- ReportNG报表显示中文乱码和TestNG显示中文乱码实力解决办法
最近在进军测试自动化框架学习阶段,但无意间总是会伴随小问题的困扰,比如中文乱码,而导致显示总是不舒服,个人觉得,就一定要解决,似乎有点点强迫症.所以遇到ReportNG报表显示中文乱码和TestNG显 ...
- secureCRT linux shell显示中文乱码 解决方法
引:有没有这样的经历: 1.在shell中直接查看包含中文的文件时,出现一堆火星文,不得不下载下来window看. 2.无法正常的在shell中输入中文. 3.make的时候输出一堆乱码. 以下是查阅 ...
- Win 7英文系统显示中文乱码的解决(转)
Win 7英文系统显示中文乱码的解决http://www.enet.com.cn/article/2011/0811/A20110811896633.shtml 请点击Startmenu并点击Cont ...
随机推荐
- Leetcode 155 Min Stack
题意:设计一个能输出栈内最小值的栈 该题设计两个栈,一个栈是正常的栈s,而另一个是存最小值的栈sm 在push时要判断sm是否为空,如果为空或者非空但是栈顶元素大于等于插入值的 需要在sm中插入x 同 ...
- Android动画及图片的缩放和旋转
Android动画有2种,一种是Tween Animation,另一种是Frame Animation,先说说Tween动画吧. Tween动画是对视图对象中的内容进行一系列简单的转换,比如位置的移动 ...
- 更改Windows系统的密码之后,SQL Server 2008服务无法启动
问题:更改Windows操作系统的密码之后,SQL Server 2008服务无法启动. 原因:SQL Server服务需要使用操作系统的某个登录账户. 解决:需要在服务的属性窗口中修改账户密码,然后 ...
- python find函数
Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1 ...
- 几种网络加载的过渡(更新MaterialProgressBar)
自定义圆形ProgressBar 1.在drawable文件夹下新建:progressbar_circle_1.xml,如下: <?xml version="1.0" enc ...
- 微信商城系统与手机APP的优势对比!
随着移动互联网的大势到来,手机移动应用已经成为未来的主流市场,很多企业也在投入精力和财力进行研发自己的手机APP,以便更好的迎合市场的需求. 然而当微信公众平台开放以后,新的机会出现了! 很多企业已经 ...
- 关于启明星系统(OA系统,预定系统,请假系统等)安全性的说明
启明星系统推荐是安装在内网里,因此,系统采用了较为简单的身份验证. 事实上,在访问页面时,系统会判断当前cookie的uid是否大于0,如果是,则表示用户已经登录,否则表示未登录. public st ...
- eclipse下开发winform的插件WindowBuilder
可以开发swt,xwt等c/s应用 WindowBuilder插件可以在MarketPlace下载到,Help->Eclipse MarketPlace 可视化开发界面:
- HDU 5902 GCD is Funny 数学
GCD is Funny 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5902 Description Alex has invented a ne ...
- svg―Raphael.js Library(一)
Raphael是一个用于在网页中绘制矢量图形的Javascript库,它使用SVG W3C推荐标准和VML作为创建图形的基础,可以通过JavaScript操作DOM来轻松创建出各种复杂的柱状图.饼图. ...