2014年4月17日 星期四

程式編碼問題

檔案編碼

例如在 Windows 上用記事本儲存文字檔,如果內容有簡體字,系統就會問你是否要用其它編碼。有些電影的字幕檔 (.srt) 下載回來後,用記事本打開是亂碼,但是用 Word 開並選擇簡體字的編碼,則正常。

網頁編碼

php
header('Content-Type:text/html;charset=UTF-8')

html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

xml
<?xml version="1.0" encoding="UTF-8"?>

網頁伺服器預設編碼

php > php.ini
default_charset = "utf-8"

apache httpd > httpd.conf
addDefaultCharset UTF-8


資料庫編碼

字元集 utf8
排序規則 utf8_general_ci

資料庫讀取編碼

$pdo->query("SET NAMES 'UTF8'");

Linux ssh 連線

Linux 的編碼是個很大的議題。這裡只記錄 ssh 連線相關的。
# LANG="zh_CN.UTF-8"
LANG="zh_TW.UTF-8"
LANGUAGE="zh_TW:zh_TW.UTF-8:zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_TW.UTF-8:zh_CN.UTF-8:zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"


另外,關於 Unicode 與 UTF 的關係,下面這兩篇文章是目前看過最好的說明。
Encoding Gossip: Unicode 與 UTF
Encoding Gossip: UTF-8

沒有留言:

張貼留言