Skip to content

{ Tag Archives } MySQL

MediaWiki + MySQL 4.1 (目前起碼會動)

原先以為是我安裝的過程出錯,突然發現"max key length is 1000 Bytes" 才知道又是MySQL 4.1在作怪。我已經被他強迫進行字集的轉換,這次又是怎麼樣? 目前狀況是暫時停手不裝,等待以後的更新或walkaround。 紀錄一下問題: MediaWiki中有很多的key用在varchar(255)的欄位上,在MySQL的UTF-8計算中,這樣的key相當於三倍(?)長度。也就是多個欄位組成的key,就超過了預設的大小(我是1000Bytes)。 要解決這個問題要嘛改MediaWiki,要嘛改MySQL。前者網路上應用已廣,Wikipedia就已經是太過龐大了,動工是大事。後者會否因為這樣的原因而更改,好像有點強人所難。 我當然樂見有個處理方式,或者適當的walkaround也好。 在bugzilla.wikipedia.org也找到了這篇(#1322)。 2005/04/05補充: 好吧,我是暴力分子…. 我動了MediaWiki 的 tables.sql 改了以下的紅色字: CREATE TABLE /*$wgDBprefix*/categorylinks ( cl_from int(8) unsigned NOT NULL default '0', cl_to varchar(255) binary NOT NULL default '', cl_sortkey varchar(255) binary NOT NULL default '', cl_timestamp timestamp NOT NULL, UNIQUE KEY cl_from(cl_from,cl_to), KEY cl_sortkey(cl_to,cl_sortkey(78)), KEY [...]

Also tagged

Phorum5/MySQL 中文 UTF-8 Hack

原先我用的Phorum 5 及MySQL採用Big5編碼,隨著MySQL 4.1及PHP 4.3的更新,許多相容的問題也莫名其妙跑出來。隨手為Phorum 5 做了幾個修改,目的是讓中文正常點….. 我用的是 phorum-5.x.x ,最新版本可以在Phorum網站下載。 建立MySQL database 時,採用的語系為 utf8。 CREATE DATABASE `phorum5` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 適當設定Apache,我習慣使用Alias以求目錄結構乾淨方便維護,比較重要的設定是: AddDefaultCharset UTF-8 在執行 Phorum5 的 admin.php 起始化前,更改 include/db/mysql.php 的 phorum_db_mysql_connect() ,在 $conn 回傳前加上: mysql_query("SET NAMES utf8",$conn); mysql_query("SET CHARACTER_SET_CLIENT=utf8",$conn); mysql_query("SET CHARACTER_SET_RESULTS=utf8",$conn); 瀏覽 admin.php 進行起始化資料表。起始化完成後,可進行中文化,這兒有我使用的中文化檔,要放在 include/lang 中。 Phorum 5 目前(5.0.1x版)使用PHP的 htmlentities 函數來轉換非ASCII碼成 HTML [...]

Also tagged , ,

用 Gmail 備份 MySQL Database

Gea-Suan Lin 的 BLOG有篇「用 Gmail 備份 MySQL Database」,(gmail的應用越來越神奇了),偷學了他這招,用來備份上課用的講義… ^_^ 大約語法是tar -cpzf – OOXX | uuencode ……

Also tagged ,