zoukankan      html  css  js  c++  java
  • MySQL 4.1x 中文乱码效果

    本源:网海拾贝




    目下当今多数host装的照旧MySQL 4.0x 版本以下,假设进级到了4.1x 可能挪动到运用4.1x 的主机上,估计会遇到一些效果。我在powweb上遇到了两个效果。

    一是数据导入。在phpMyAdmin内导入后,创造中文酿成了乱码。搜刮进修后,了解到须要设置数据库的collation (订正),假设你的数据库是utf-8的,设置为utf8_general_ci就可以了。

    二是,纵然精确导入了,在phpMyAdmin里也能精确表现,但WordPress页面上表现的文章内容都是“???”,而模板外面的汉字都能正常表现。这让我头疼了良久。搜刮到Windix’s Weblog上有对此的阐明');:

    从MySQL 4.1最先引入的多言语支持的确很棒,而且一些特性曾经凌驾了其他的数据库系统。不过我在测试进程中创造运用合用于MySQL 4.1之前的PHP语句利用MySQL数据库会形成乱码,即即是设置过了表字符集也是如此。我读了一下新的MySQL在线手册中第十章”Character Set Support“后终于找到了处置法度并测试经过。

    MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序体式名目(Collation)。对付字符集的支持细化到四个条理: 供职器(server),数据库(database),数据表(table)和连接(connection)。

    当我们凭据本来的体式名目经过PHP存取MySQL数据库时,就算设置了表的默许字符集为utf8而且经过UTF-8编码发送盘诘,你会创造存入数据库的模仿照旧是乱码。效果就出在这个connection连接层上。处置法度是在发送盘诘前施行一下下面这句:

    SET NAMES ‘utf8′;

    然则我模仿照旧不晓得,若何,在那里那儿让WordPress运转这个SQL语句。其后在阿修的部落格上查到设置配备布置:

    為著解決這個問題必須去点窜wp-includes/wp-db.php內的資料連線設定。詳細的点窜体式名目是這樣的:

    $this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
    //加上下面這行
    $this->query("SET NAMES 'utf8'");


    如许子终于能正常表现中文的WordPress了。固然其后照旧没用Powweb,然则感觉感染这个经历会对别人有效。记得有人用email和我计议过如许子的中文表现效果,然则我那时那里晓得效果出在MySQL 4.1x上。

    尚有,4.1x的数据库不向下兼容,以是进级的时辰要三思啊。



    版权声明: 原创作品,承诺转载,转载时请务必以超链接方式标明文章 原始因由 、作者信息和本声明。不然将穷究法律责任。

  • 相关阅读:
    Error和Exception的区别
    当try和finally都包含return时的执行顺序
    String,StringBuffer处理字符串的区别
    使用idea对XML的增删改查
    IO流,字节流复制文件,字符流+缓冲复制文件
    MySQL同步故障:" Slave_SQL_Running:No" 主从同步的从表进行了写操作
    常用MQ的对比冷知识
    Redis-避免缓存穿透
    Docker容器与虚拟化技术——部署KVM虚拟化平台
    HTML日记 第三篇 关于图片的冷知识(附带一些浮动的基础知识)
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1976004.html
Copyright © 2011-2022 走看看