煩人的latin1轉utf-8問題
最近在處理一個xoops轉換到Drupal 5.x版本的case,主要先使用xoops_import-5.x-1.1這個模組,把xoops裡頭的user和forum轉進Drupal。
轉換的過程很順利,問題就是說,轉進來的中文變成亂碼。
透過phpmyadmin到資料庫一看才發現,原來xoops的資料庫仍是以latin1編碼,轉進utf8編碼的Drupal自然會是亂碼。
- 閱讀更多關於煩人的latin1轉utf-8問題
- 2 篇回應
- 發表回應前,請先登入或註冊
最近在處理一個xoops轉換到Drupal 5.x版本的case,主要先使用xoops_import-5.x-1.1這個模組,把xoops裡頭的user和forum轉進Drupal。
轉換的過程很順利,問題就是說,轉進來的中文變成亂碼。
透過phpmyadmin到資料庫一看才發現,原來xoops的資料庫仍是以latin1編碼,轉進utf8編碼的Drupal自然會是亂碼。
各位好:
TKY實在受不了這個問題了,看看有沒有人能夠一次解決這個問題。
基本上,Drupal發出的電子郵件都是UTF-8編碼而不會有亂碼的問題。
但一些有提供mail通知的模組,會出現中文亂碼的問題。
例如TKY最近在嘗試的RSVP邀請函模組和Mail模組。
RSVP比較一致,從頭到尾、主旨到內容,只要是中文全都是亂碼。官網的有提供patch,Patch過,就會正確編碼(UTF8)。
Mail模組比較怪一點。Mail模組在發信之前可以設定用哪種編碼方式來發信(欲設有四種,包含UTF8),不過發出去的信件只有內文是UTF8編碼,但主旨與寄件者別名仍舊是亂碼。
我的drupal是4.7,裝了flexinode,發現欄位不能用中文,我自己去MySQL手動把編碼的部分改成utf8_general_ci就可以了,不過我看flexinode.install這個檔案,它在自動產生資料表格時把DEFAULT CHARACTER SET utf8註解掉了,不知道為什麼呢...