我在一個外國的免費空間安裝英文版Drupal 5.3 ,可以正常匯入本站中文化PO檔,外觀顯示都中文了,但是發表文章時中文會呈現???。
這種情況是否和資料庫的設定有關?
不知道如何解決?
您在這裡
使用者登入
最新文章
回應
3 年 5 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
Re:
也想知道@@出了什麼狀況
(我是部份可以顯示中文、部份是一大堆????)
我有兩個網站,都安裝了question
一個就會變成???,一個則正常顯示內容。真是一個頭兩個大呀!
Re: Drupal5.3可以中文化,發表文章呈現???
補充一下訊息:
管理>日誌>狀態報告
狀態報告
在這裡你可以 Drupal 網站設定的簡要描述,以及任何被偵測到的問題。當你需要支援時,可以複製/貼上這些資訊給他人參考。
Drupal 5.3
GD 程式庫 bundled (2.0.34 compatible)
MySQL 資料庫 5.0.27
PHP 5.2.3
Unicode 程式庫 PHP Mbstring Extension
cron 維護工作 上一次執行是在 37 年 50 週 以前
你可以 手動執行 cron。
檔案系統 可寫入(公開的 下載模式)
網站伺服器 Apache/2.2.6 (Unix) mod_ssl/2.2.6 OpenSSL/0.9.8b DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635 mod_bwlimited/1.4
設定檔案 被保護
資料庫 schema 最新的
是不是我的伺服器環境不能運行 Drupal 5.3 呢?
Re: Drupal5.3可以中文化,發表文章呈現???
檢查一下 mysql 資料庫、資料表的編碼設定吧?
Re: Drupal5.3可以中文化,發表文章呈現???
唔... 好神奇的時間啊~~
是翻譯有問題嗎?? 37年前.... 我都還沒出生說... Drupal應該也還不存在吧!
在 includes/database.mysql.inc 裡有一段...
/* On MySQL 4.1 and later, force UTF-8 */
if (version_compare(mysql_get_server_info(), '4.1.0', '>=')) {
mysql_query('SET NAMES "utf8"', $connection);
}
看起來,理論上應該會以utf8的方式來作資料的傳輸。
同樣建議去查一下 node_revisions 資料表的 body 和 teaser 欄位的"校對"屬性是不是 "utf8xxxx"...
如果是"latin"開頭的... 那表示設錯了... 資料存到資料庫裡的時候就亂掉了...
最近看書才知道的一件事情。
大部分歐美語系,是用latin(拉丁)的編碼來存資料,所以有些時候會預設用它作編碼設定值。
Re: Drupal5.3可以中文化,發表文章呈現???
各位真是天才,果然是在那個table例外的變成Ladin,改回uft ger就好了。
超感謝!
Re: Drupal5.3可以中文化,發表文章呈現???
感謝大大們的幫助,問題已解決。
首先請管理員將Database編碼 從Latin改成Utf8
問題沒有解決
再請管理員將DB Table node_revisions 中的Collation(title,body ,teaser,log)改成 utf8_general_ci
終於解決 !
Re: Drupal5.3可以中文化,發表文章呈現???
將 Database 的編碼改變,是不會對底下已存在的資料表是不會有影響。
這個編碼存在的價值,似乎只是為了在開新的資料表時,提供一個預設值作參考。
若沒有決定資料表的每一個欄位的校對模式(只有文字類型的才有校對模式可以選),則拿這個預設的編碼當編碼。
所以... 事後修改Database其是不會有什麼改變。
至於這個Database編碼還有沒有其它用途,我就不清楚了。
順帶提個東西,是在MySQL 4上面遇到的,我正要查詢"騎"這個字,
但是查出來的結果居然出現"騎"和"討"兩筆資料,讓我百思不得其解。
後來查了一下兩個字的Unicode... 發現 騎: 9A0E 和 討: 8A0E,似乎只有第一碼不相同。
想起MySQL的文字似乎是不分大小寫的,修改過欄位的屬性,才解決這個問題。
為什麼提到這個.... 因為上篇文章中用的編碼是 utf8_general_ci,其中ci指的是不分大小寫(好像是 case ignore 的縮寫)
若是遇到大小寫有差,在查詢的時候需要區分的時候,就應該把編碼改成 utf8_bin ,bin是指Binary,這樣就會視不同大小寫的為不同。