php MySQL Chinese Unicode 備忘

被 Window 的 character coding 問題搞到一頭煙, 問題暫時解決, 所以要做一個記錄以免日後重犯.

  1. 在眾多的 Windows 版本中, 只有 Windows 2000 是 原生支援 unicode. 如果是使用 Windows 2000 做 Server, 問題會少很多.
  2. 使用香港版的 Windows 在支援 unicode, 繁體中文及簡體中文也較少問題.
  3. 在非香港版 Windows (暫時只在 英文版 Windows XP 試過), 由 Excel 經 ODBC 匯入 MySQL 列表, 簡體中文會變成亂碼, 必須先進行繁簡轉換 (推介使用 InstGB5.exe).
  4. Excel 經 ODBC 匯入 MySQL 列表, 由於 Excel 有  255 字符長度的限制, 256 以上會自動刪除. 從 Microsoft XML 匯入 Excel 也是一樣, 但 OpenOffice 可支援 32k 字符就沒有問題, 可惜還未找到對應的 ODBC driver.
  5. MySQL 使用 unicode, execute 之前必須 加上 “SET NAMES ‘utf8′", 否則所有中文會變成亂碼.
  6. 使用 jpgraph 如包含中文字符, 需要將  jpgraph_ttt.inc.php 第 116 行由 return iconv(‘BIG5′,’UTF-8’,$aTxt); 改成
    return $aTxt;. 因為本身由 MySQL 傳回的字串巳經是 unicode, 所以沒有需要再做轉換, 否則又會變成亂碼.
  7. 另 jpgraph 中設定中文字型, 無論是 FF_CHINESE 或是 FF_BIG5 都是一樣 (31).
廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: