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的数据库不向下兼容,以是进级的时辰要三思啊。



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

  • 相关阅读:
    一款炫酷Loading动画--载入失败
    ITK Configuring and Building in VisualStudio及hello world程序编译
    InnoDB: Error: log file .ib_logfile0 is of different size 0 10485760 bytes
    vim学习笔记(1)——vim操作
    Android数据格式解析对象JSON用法
    JSONObject与JSONArray的使用
    AsyncHttpClient来完成网页源代码的显示功能,json数据在服务器端的读取还有安卓上的读取
    android开源框架android-async-http使用
    开源框架AsyncHttpClient使用
    Android:Layout_weight的深刻理解
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1976004.html
Copyright © 2011-2022 走看看