SA Blog --系统管理员的博客生涯

书写自己的系统管理博客生涯
posts(330) comments(254) trackbacks(0)
  • IT博客
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(395)

  • *UNIX系统(148)
  • Cloud(3)
  • Moive
  • Music(1)
  • OpenStack(7)
  • openstack
  • Wiki(1)
  • Windows系统(32)
  • 其他(33)
  • 娱乐
  • 存储相关(22)
  • 存储网络(10)
  • 常用工具下载(25)
  • 数据库应用技术(53)
  • 网络技术(41)
  • 英语
  • 虚拟化(19)

随笔档案(330)

  • 2020年9月 (1)
  • 2020年8月 (1)
  • 2020年7月 (8)
  • 2020年4月 (1)
  • 2020年2月 (1)
  • 2020年1月 (1)
  • 2019年9月 (2)
  • 2019年4月 (1)
  • 2016年1月 (1)
  • 2015年12月 (1)
  • 2015年7月 (4)
  • 2015年5月 (2)
  • 2014年3月 (2)
  • 2014年1月 (1)
  • 2013年12月 (1)
  • 2013年3月 (5)
  • 2013年2月 (4)
  • 2012年12月 (1)
  • 2012年11月 (2)
  • 2012年9月 (2)
  • 2012年8月 (1)
  • 2012年6月 (1)
  • 2012年5月 (1)
  • 2012年1月 (1)
  • 2011年12月 (2)
  • 2011年10月 (1)
  • 2011年9月 (3)
  • 2011年8月 (1)
  • 2011年7月 (5)
  • 2011年6月 (3)
  • 2011年5月 (5)
  • 2011年4月 (2)
  • 2011年3月 (2)
  • 2011年2月 (1)
  • 2011年1月 (5)
  • 2010年12月 (1)
  • 2010年11月 (4)
  • 2010年9月 (13)
  • 2010年8月 (4)
  • 2010年7月 (5)
  • 2010年6月 (5)
  • 2010年5月 (13)
  • 2010年4月 (10)
  • 2010年3月 (5)
  • 2010年2月 (1)
  • 2010年1月 (9)
  • 2009年12月 (5)
  • 2009年11月 (5)
  • 2009年10月 (1)
  • 2009年9月 (3)
  • 2009年8月 (2)
  • 2009年7月 (6)
  • 2009年6月 (3)
  • 2009年5月 (2)
  • 2009年4月 (1)
  • 2009年3月 (2)
  • 2009年2月 (3)
  • 2008年12月 (3)
  • 2008年11月 (1)
  • 2008年10月 (9)
  • 2008年9月 (5)
  • 2008年8月 (3)
  • 2008年7月 (1)
  • 2008年6月 (1)
  • 2008年5月 (2)
  • 2008年4月 (1)
  • 2008年3月 (1)
  • 2008年2月 (3)
  • 2008年1月 (1)
  • 2007年12月 (5)
  • 2007年11月 (1)
  • 2007年10月 (6)
  • 2007年9月 (4)
  • 2007年8月 (4)
  • 2007年7月 (34)
  • 2007年6月 (1)
  • 2007年4月 (2)
  • 2007年3月 (1)
  • 2007年2月 (1)
  • 2006年11月 (1)
  • 2006年9月 (4)
  • 2006年8月 (4)
  • 2006年7月 (1)
  • 2006年6月 (10)
  • 2006年5月 (3)
  • 2006年4月 (14)
  • 2006年2月 (6)
  • 2006年1月 (6)
  • 2005年12月 (12)

收藏夹(5)

  • Other(5)

IT技术

  • MSDN 库(中文)
  • 欢迎使用 MSDN 库(中文),MSDN 库为使用 Microsoft® 工具、产品、技术和服务的开发人员提供必不可少的信息资源。MSDN 库包含操作方法和参考文档、示例代码、技术文章和其他内容。请浏览目录或使用搜索功能来查找所需内容。

健康

  • 体检咨询
  • 北京体检 体检咨询
  • 足医生
  • 足医生

友情链接

  • TestLink中文论坛
  • Testlink 中文论坛
  • 备案专题
  • 备案专题
  • 微软大中华区安全博客
  • 微软大中华区安全博客

存储技术

  • doit存储
  • doit 存储,存储热门论坛
  • ITPUB
  • Oracle DBA 热门中文社区
  • TechTarget IT专家网
  • 蓝德科技

网络技术

  • ChinaUnix 中文社区
  • ChinaUnix 热门中文社区

搜索

  •  

最新评论

  • 1. re: 吐槽一下阿里系软件,就是天天的升级???
  • 评论内容较长,点击标题查看
  • --David
  • 2. re: Symantec Backup exec system recovery 2010(BESR 2010)故障汇总
  • 评论内容较长,点击标题查看
  • --112
  • 3. re: OpenStack安装部署管理中常见问题解决方法(OpenStack-Lite-FAQ)
  • /home/stack/devstack/tools/worlddump.py -d /home/stack/logs
    求救这是什么问题啊。
  • --陈晓龙
  • 4. re: nokia 手机密码忘记后破解
  • nokia 2630,密码不见,恳请帮忙,谢谢
    串号:355219037959407
    lipolipo@gmail.com
  • --沈同学
  • 5. re: chroot 工具 jailkit 限制用户 活动范围 和 权限 _ 笔记
  • 是一个很好的工具嘛。感谢分享。
  • --少林功夫好

阅读排行榜

评论排行榜

View Post

php mysql 国外空间乱码相关技术收集

 

wordpress 1.5升級注意事項 - 中文亂碼篇

In php/mysql, blog related   July 27, 2005 - 3:28 pm

*中文亂碼

大部份人升級wordpress 1.5時碰到的問題都是中文亂碼,尤其是如果原本用 mysql 4.0 而同時要升級到 mysql 4.1的話。

主要原因是mysql 4.1在語系方面增加了許多功能,它可以設定語系的層次從最底層的 server, database 到單一 table, column, connection 都可以設定,而除了語系之外,還可以指定搭配不同的 collation,所以組合百百種,只要一個錯了就難逃亂碼的命運。(而之前用mysql 4.0為何不用設定也不會出問題呢?主要原因是那時預設是 latin-1,正好相容大部份的utf-8字元,所以不常碰到亂碼)

所以如果你的情況跟我一樣,同時要將 wordpress 從 v1.2升級到 v1.5, 然後mysql也要 v4.0 升級到 v4.1 的話,請看下面流程:

0. 先進phpmyadmin找到可輸入 sql query的畫面,然後鍵入:

show variables like ‘%character%’;

這句話會顯示目前資料庫使用的語系設定,一般國外的網站或剛裝好的 mysql 4.1預設都是 latin-1。

1 新增wordpress blog要用的database名稱,例如 myblog.

如果你熟悉 phpmyadmin 的操作,在畫面上就可以選擇這個新database 要用的語系,

charset 請選擇 UTF-8 Unicode (utf8)
collation 請選擇 utf8_general_ci (ci 代表 case insensitve 大小寫沒差)

2、改 database語系,同樣在 phpmyadmin 的query畫面鍵入下面兩行:

如果你在上一步中沒正確選擇語系,或是在看到本文前已經先建好database了也沒關係,用下面語法可以改回來

alter database myblog
character set utf8;

3、匯入舊的 sql

到這裏為止mysql裏面已經有一個 utf-8的 database, 可以準備倒資料進去了,把舊版的sql 文字檔直接copy-paste或上傳到 phpmyadmin即可。注意要告訴phpmyadmin這個文字檔是 utf-8 編碼的才能正確匯入。

根據我的經驗,總是會有一兩個小地方出問題,可能要手動修改一下內容,例如將某些中文字先換成英文,等倒進mysql後再進wordpress 改回來。

4、改 wp-db.php 的設定

前面曾經提過,mysql的語系設定是多層次的,前面我們把database與table的語系都設定正確,但程式與mysql連線時的語系則是由 connection 來決定,這部份就要改wordpress的程式碼,在 \wp-includes\wp-db.php 的第 44行加上:

$this->query(”SET NAMES ‘utf8′”);

這句話會同時設定 client, results, connection三者使用的語系為 utf-8。

*最後檢查是否全部改成 utf-8

show variables like ‘%character%’;

此時你應該會看到大部份欄位都是utf-8了,除了 server 這項之外,因為我是用別人的hosting主機,所以沒法兒改這部份,但平常做案子時大部份都可以直接控管mysql,此時就可以用 my.ini 設定:

[mysqld]
default-character-set=utf8

告訴mysql server啟動時要用 utf-8即可。

附帶一提,經過這樣調校的mysql,連接 flash - amfphp - php - mysql 也完全沒問題,可以互傳中文/日文。

by jeremy

15 Comments Add your own

  • 1. YJ&hellip  |  August 12th, 2005 at 8:57 pm

    您好:
    您的網站教學範例寫的很好!讓我受益良多!但是我在透過amfphp要insert資料到mysql時卻發生了問題,我可以正常寫入資料,但因為資料內容有中文,想要瀏覽時卻會出現亂碼(select *from table_name)
    我的執行環境如下:
    flash mx 2004 pro(英文版)
    amfphp ms2
    php 5
    mysql 4.1
    apache2
    phpmyadmin 2.6.2
    我在phpmyadmin 執行
    show variables like ‘%character%’;
    所有的設定都是utf8
    但是還是有亂碼的出現,在service資料夾中的php擋案是不是還要加上
    $this->query(”SET NAMES ‘utf8′”);我試過了!
    但是還是沒辦法正常顯示中文!!
    請問我應該如何做!!謝謝!!

  • 2. jeremy&hellip  |  August 13th, 2005 at 1:39 am

    >show variables like ‘%character%’;
    >所有的設定都是utf8

    照這個情況來看,你的設定都是正常的,只有一個地方可能出錯,請確定一下service資料夾中的php class檔案本身文字編碼是否也是utf8。

    可以用dreamweaver, EmEditor或任何可設定語系的editor打開看一下,有可能它還是big-5 or latin-1。

    我懷疑是php -> mysql 這段出了問題,mysql預期接收到的資料是 utf8, 但前端php傳來的資料卻是其它語系。

    >$this->query(”SET NAMES ‘utf8′”);我試過了!

    這句只有在你沒法改mysql設定檔時才需要用,一般如果mysql是自已管,直接改 my.ini or my.cnf 就可以了。

  • 3. None » 目前在Dre&hellip  |  August 14th, 2005 at 12:34 pm

    […] 參照這篇wordpress 1.5升級注意事項 - 中文亂碼篇的說明 用show variables like ‘%character%’;查詢的結果 […]

  • 4. == i POP Focus == »&hellip  |  August 21st, 2005 at 12:34 am

    […] 2)另外找到一些说明中文乱码的问题,还是没用,因为那是wordpress 1.2 to 1.5的办法. 而我已经是1.5了. 系统情况是mysql 4.1.11 +windows 2000 server + phpmyadmin 2.6.2 +php 5.0.4 win32 Some Posts: http://www.eqiao.com/?p=81http://ria.richtechmedia.com/?p=192http://yanfeng.org/wp/232http://blog.csdn.net/yzhz/archive/2005/04/08/340166.aspxhttp://www.shunz.net/node/278 […]

  • 5. popf&hellip  |  August 21st, 2005 at 12:43 pm

    简直是打击!
    由于建立blog数?库的时候,就没把设置?对.

    CHARSET=latin1
    ENGINE=InnoDB
    整? =latin1swedishci .

    ?新导出/导入数?库,使整个blog的中文?到摧?性伤害!
    本?想通过 mysql 4.1.X 中文乱?解决办法去?定的,结果还是?行!

    类似如上这样的,会有一些?号出现
    http://ipopf.info/wp/index.php/2005/08/19/251

    只有用latin1,书写进去,中文才显示正常,而导出了,再导入就不行了,我试着把数据库以gb2312/utf8等建立,然后导进表,但都失败了.

  • 6. R » Blog Archive &r&hellip  |  August 27th, 2005 at 5:04 am

    […] […] 2)另外找到一些?明中文??的??,?是?用,因?那是wordpress 1.2 to 1.5的?法. 而我已?是1.5了. 系?情?是mysql 4.1.11 +windows 2000 server + phpmyadmin 2.6.2 +php 5.0.4 win32 Some Posts: http://www.eqiao.com/?p=81http://ria.richtechmedia.com/?p=192http://yanfeng.org/wp/232http://blog.csdn.net/yzhz/archive/2005/04/08/340166.aspxhttp://www.shunz.net/node/278 […] […]

  • 7. ??脩????????閮?銝剖? &hellip  |  November 19th, 2005 at 7:37 pm

    […] 1.先用phpmyadmin新增一個wordpress專用的資料庫,本例中我們命名為wordpress 記得需將charset設定成utf8_general_ci,請參考亂碼問題 […]

  • 8. None » 資料庫語&hellip  |  December 3rd, 2005 at 10:44 pm

    […] 長久以來在 DreamHost 這邊用的 Mysql DB 語系一直是 latin1,一直沒試試看改用utf8,昨晚參考MySQL 5 使用 UTF-8 配合 WordPress 的問題(附帶浮動 CSS 之謎)和wordpress 1.5升級注意事項 - 中文亂碼篇測了一下似乎還滿正常的,所以剛剛終於把這邊的DB語系換成utf8了。 […]



 

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

posted on 2006-11-12 21:11 David 阅读(2323) 评论(22)  编辑 收藏 引用 所属分类: 数据库应用技术 、网络技术

View Comments

# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
PowWeb主机其实是很不错的,当然没有十全十美的虚拟主机,都是各有特色。具体选择哪一种就要看自己的需求了。
大家可以去 www.hothosting.info/zh 看看,这是国内最专业的美国主机购买与评测指南。了解自己的需求点,再根据这些不同供应商主机方案的特点,那就很容易选择了。
比如:有linux技术经验的朋友,可以选择支持ssh的主机,这样会很方便。
或者如果不希望被其他用户影响可以选择提供独立ip,或者独立ip比较便宜的主机。
如果是开网店的主机可以选择配套服务比较多的公司产品。
去 www.hothosting.info/zh 看看,应该能找到合适自己的国外主机服务商。
2006-12-26 15:22 | jameshost
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
With the goal to prevent the mistakes in some dissertation work, it can be good to purchase the good story connected with this good post in the <a href="http://www.master-dissertations.com">thesis</a> service online. It is easier to reach the academic success coming that great way.
2010-06-27 12:05 | HullHollie25
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
If some students buy an essay or purchase written essay about this post, that would be avaliable to receive perfect quality.
2010-06-27 12:42 | buy essay
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
The personal loans suppose to be essential for guys, which would like to organize their own career. By the way, this is not hard to receive a secured loan.
2010-07-03 13:52 | loans
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
I opine, dissertation writers make the perfect article or find a dissertation just about this post, hence, men should get dissertation writing service and, believably, that is achievable to have the online custom thesis or essays written.
2010-07-09 19:33 | dissertation writing service
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
That’s important to compose the high quality america essays paper and just essay about this good topic to get the academic success at school.
2010-08-12 21:00 | english essay paper
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
Our life is very unpredictable thus, we do live it very good and can try to get an information about this good topic. So you detect that the Freelance writing job service will assist people with all this.
2010-08-17 16:26 | writer job
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
If you are in a rush and have no clue how to find the free time so that compose a prime quality CV, keep in contact companies which propose quality CV sample resumesexpert.com.
2013-04-01 23:18 | Resumesexpert.com
# re: php mysql 国外空间乱码相关技术收集  回复  更多评论   
Maybe not everyone knows that the under-thread component in multi-needle lockstitch quilting and in "schiffli" embroidery is called <a href="http://cocoon-bobbins.com">cocoon bobbin</a>.
2014-03-04 18:46 | cocoon bobbin
刷新评论列表
只有注册用户登录后才能发表评论。
 
Powered by:
IT博客
Copyright © David