纸飞机

纸飞机

这家伙有点懒,还没写个性签名!

  • 财富值75
  • 威望值0
  • 总积分75

个人信息

  • 我要看清晰的

  • 回复了话题 奇怪,求教

    问题找到了。数据库建立的时候没有选对,重新建立数据库的时候选对编码就啥事都没有了 。哈哈

  • 回复了话题 奇怪,求教

    demo改成同样的数据库后也会出现
    Error 500
    CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

    哈哈

  • 回复了话题 奇怪,求教

    ERROR 1267

    看来是这个问题

    如果建表时使用的字符集和mysql默认的字符集不一样,在查询操作时,尤其是有中文字符的情况下,经常会出现如下错误:

    ERROR 1267 (HY000): Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like'

    解决办法是:在执行mysql查询语句前,执行"set names gbk",gbk是建表是使用的字符集,请根据实际情况修改!

  • 回复了话题 奇怪,求教

    不过好像又不对,,我把strtolower删除了还是不行。

  • 回复了话题 奇怪,求教

    我猜应该是这个问题

    PHP strtolower() 乱码问题
    strtolower()函数里面的参数的值如果是中文,例如strtolower("测试"),返回的结果会变成乱码...
    然后就google了一下,没有找到问题所在,却发现大家都极力不建议使用strtolower()这个函数...
    于是偶竭尽全力查找问题,系统是debian linux平台,很快投诉方提供了一台不会乱码的机器,于是偶开始对比两台机器的不同...两台机器是同一批机器,系统都是同一时间安装的...
    apache的配置文件,php的配置文件完全一样...一个头顿时变成两个大...
    最后发现 在phpinfo()的Environment这一节里面,不产生乱码的只有两个环境变量:LANG,PATH;可是产生乱码的那台机器就多了去了,而且LANG=US_en,连启动apache的时候从那个ip登录进来的都可以看到...感觉问题出在了apache上,差不多排出了php的问题。
    然后查看apache的配置文件...用env命令查看环境变量...用 /etc/init.d/apache restart 重起了一下,突然发现系统不再产生乱码了。奇怪啊?
    查了半天没有找到问题,然后只好去正常的那台机器上 apachectl restart 一下,很快就有人问为啥那台正常的也开始乱码了?
    立即开始思考刚才在正常的那台机器上做了什么?好像就是重起了一下apache...不过...我真的要佩服自己一下,我的手指完全不受控制的敲了history,让我发现重起apache的时候采用了不同的命令!
    /etc/init.d/apache restart
    apachectl restart
    立即使用 /etc/init.d/apache restart 重起apache,乱码症状消失,问题的一解决
    用vi打开 /etc/init.d/apache 发现原来启动Apache是这样的:
    env -i LANG=C PATH=/bin:/usr/bin:/usr/local/bin apachectl start
    如果你的apache安装在/usr/local/apache_1.3.34/bin 下,就要用:
    env -i LANG=C PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/apache_1.3.34/bin apachectl start

  • 发布了话题
    奇怪,求教
  • 继续支持老大

职场新人 等级规则
75/100
资料完整度
30/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

0