解决Discuz不支持MariaDB的问题

提示

Illegal mix of collations (gbk chinese ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
搜索后大概意思是说数据库编码不对。
我就郁闷了,数据库是 GBK 的,字段是 GBK 的,程序也是 GBK 的,怎么会编码有问题呢?
绕过计划任务进入论坛,发现论坛中文全部乱码了。
难道是我导入数据的时候有问题?于是乎我又重新用 GB2312 导出一份,上传到服务器,依然不行。
反反复复折腾一个小时之后,一个偶然的机会下发现 Discuz 下数据库被设置为 lantin 编码,这和 phpmyadmin 看到的不一样啊!
然后又研究了许久 Discuz 的数据库类,明明有设置为 GBK 的,难道没设置成功?
在程序中加入 DB::query() 设置编码,发现居然可以了,这是什么道理??表示不服
难道用 mysql_query() 就不行么?可是 DB::query() 又是调用 mysql_query() 的啊
偶然调节代码顺序的时候,发现移动到 if($this->version() > '4.1') 外侧竟然执行成功了
尼玛原来你才是罪魁祸首
可是这句话有问题么?输出下

10.0.9-MariaDB
尼玛我瞬间就明白了,这是一个字符串,“4.1”也是一个字符串,字符串比较是逐一比较各字符,先判断 1 < 4,然后得出 10.0.9-MariaDB < 4.1
我 QNMLGB,害我倒腾两个小时……

解决办法:
修改 version 方法,return '9.9.9';

时间: 2024-09-14 19:41:11

解决Discuz不支持MariaDB的问题的相关文章

网页设计小技巧:解决IE6不支持hover

文章简介:网页设计小技巧:解决IE6不支持hover.  IE6以及更低版本的浏览器对":hover"的支持不理想,对于类似的"p:hover"."img:hover"."#header:hover"...,今天给大家介绍一种新的方法,可以完美解决IE6不支持hover的情况,用法很简单,将下载后的"csshover.htc"文件,定义在body样式内 body { behavior:url("c

CSS实例教程:完美解决IE6不支持hover的方法

文章简介:完美解决IE6不支持hover的方法. <style type="text/css">         p:hover,p.hover { background:#eee; }   /* 就是要多写一个.hover而已 */ </style> 下面这段代码要放到页面的底部在</body> 前: <script type="text/javascript">    //<!–  让所有标记支持hover 

解决phpmyadmin 乱码,支持gb2312和utf-8

解决 解决phpmyadmin 乱码,支持gb2312和utf-8     群里很多PHP爱好者一直受phpmyadmin的乱码问题困扰.我自从有了mysql-front后,我就很少使用phpmyadmin了.但每次连接远程主机,就比较慢.造成操作不便.今天有点时间,就下了最新的版本来研究. 首先说明我的数据库使用情况: phpmyadmin 版本2.7.0-pl1(如果你使用其它版本,可能会有所不同,请对照修改或者到 这里下载 phpmyadmin 2.7.0-pl1) mysql版本MySQ

利用JS解决ie6不支持max-width,max-height问题

 本篇文章主要介绍了利用JS解决ie6不支持max-width,max-height问题的方法.需要的朋友可以过来参考下,希望对大家有所帮助 今天遇到一个关于用js解决ie6不支持支持max-width,max-height的问题,刚开始用jQuery方法来实现,不过一直获取不到css里面的值,如   代码如下:   if($.browser.msie && $.browser.version == 6.0)   {     var maxWidth = parseInt($('.view

如何解决浏览器不支持cookies

  故障分析:造成浏览器不支持cookies的情况首先考虑你是不是浏览器的问题,浏览器设置出现错误,浏览器内部异常的情况,其次就是你的电脑是否被中毒,系统文件被丢失的现象所导致.下面就一起来看看如何解决浏览器不支持cookies的操作方法. 解决方案: 一.先检测你的浏览器,假如你的浏览器是ie浏览器的话,可以重新对其进行设置cookies.先打开你的ie浏览器,然后在点击"菜单栏的"工具--internet选项",打开internet选项窗口,在切换到"安全&qu

解决phpmyadmin 乱码,支持gb2312和utf-8_php技巧

解决phpmyadmin 乱码,支持gb2312和utf-8 /google 的广告条-->     群里很多PHP爱好者一直受phpmyadmin的乱码问题困扰.我自从有了mysql-front后,我就很少使用phpmyadmin了.但每次连接远程主机,就比较慢.造成操作不便.今天有点时间,就下了最新的版本来研究. 首先说明我的数据库使用情况: phpmyadmin 版本2.7.0-pl1(如果你使用其它版本,可能会有所不同,请对照修改或者到 这里下载 phpmyadmin 2.7.0-pl1

解决nginx不支持thinkphp中pathinfo的问题_php技巧

下面小编通过文字加代码的方式给大家详解下,具体内容如下: 其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo.为了使问题简单化,我选择了第一种方式,因为就第二种方式,我查了很多资料,发现大家的方法不尽相同,有的还差别很大,容易造成误导,所以我选择从简出发,选择普通模式,虽然有一定的风险.当把index.php对应的前台代码修改完毕之后,发现前台基本正常,可是后台仍然出现重定向的问题.折腾了半天

利用JS解决ie6不支持max-width,max-height问题的方法_javascript技巧

今天遇到一个关于用js解决ie6不支持支持max-width,max-height的问题,刚开始用jQuery方法来实现,不过一直获取不到css里面的值,如 复制代码 代码如下:   if($.browser.msie && $.browser.version == 6.0)  {    var maxWidth = parseInt($('.viewBigPic img').css('max-width'));    $('.viewBigPic img').each(function(

用jQuery解决IE不支持的option disable属性_jquery

使用jQuery解决IE不支持的option disable属性 普通: 第1项第2项第3项第4项第5项第6项 对比1: 第1项第2项第3项第4项第5项第6项 对比2: 第1项第2项第3项第4项第5项第6项Dev By CssRain,当然你有兴趣,也可以封装成插件.记得发我一份哦.