我一直以為apple的所有產品都是以unicode來解決多國語言的問題
原本以為對方收到信件會亂碼都是對方的問題...
直到最近才注意到,我的iphone內建的郵件APP送信居然是以GB2312為編碼送出的!?
因為最近在跟itunes客服討論事情,前幾次對話都是直接在gmail上回應,沒有任何問題
直到上一篇回覆,因為在火車上,所以就直接用iPhone回覆信件
結果今天收到對方的回覆說郵件都是亂碼,請我再次回覆
我才到gmail去看了一下原始郵件
從第一封和我用gmail回覆的每一封都是utf-8格式,完全沒問題
唯獨使用iPhone內建的郵件app回覆的那篇是GB2312格式
這讓我實不敢相信~_~
又要來多寫一封信去請APPLE改進了
iPad不在我身邊
但我的iPhone照做了頂多也只有變成BIG5
Return-Path: <[email protected]>
Received: from [192.168.11.2] (114-33-213-77.HINET-IP.hinet.net. [114.33.213.77])
by mx.google.com with ESMTPSA id xr8sm2919195obc.12.1969.12.31.16.00.00
(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
Tue, 20 Aug 2013 08:56:08 -0700 (PDT)
Subject: =?iso-2022-jp?B?GyRCQiw7bhsoQg==?=
From: Gmail <[email protected]>
Content-Type: text/plain;
charset=big5
X-Mailer: iPhone Mail (10B350)
Message-Id: <[email protected]>
Date: Tue, 20 Aug 2013 23:56:05 +0800
To: =?iso-2022-jp?B?GyRCPmEbKEIgGyRCQ05DIxsoQg==?= <[email protected]>
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (1.0)
=C0H=ABK=A5=B4=B4X=AD=D3=A6r
=A8C=A4=D1=B3=A3=ADn=B3Q=A4=D1=BA=A1=B5L=AD=AD=ACq=B5=DE=A8=EC=A6=BA=A1A=A4H=
=AE=E6=A4~=A4=A3=B7|=A7=E1=A6=B1
--
=46rom my iPhone
Blog: http://chcooboo.blogspot.com=
由於要將全世界的語言及符號都容納入編碼表中,
所以規範了不同範圍的編碼長度給不同語言使用。
以英文字來說,其實只要1Byte就能排列組合出128種字元及符號。
拉丁文則安排了2Bytes長度組合,
中文字每個字使用3Bytes長度。
iPhone 的邏輯是,信件內的所有字元,
在哪個編碼表裡有包含,就自動判斷採用何種編碼寄出。
以節省手機數據傳輸大小,避免額外的耗電,與增加數據傳輸費用。
而收信方只要採用信頭標記的字碼表來解開就能正確閱讀。
會自動採用GB2312寄出,是因為信中的字元剛好都包含在GB2312中,
採用2Bytes編碼,比起UTF-8,每十個字就可省下 10 Bytes的傳輸量。
如果不想讓 iPhone,自作主張使用最短容量的編碼方式寄出,
解決方式就是,打一個只有UTF-8才有收錄的文字,
它就被迫只能以UTF-8編碼寄出。
iOS內置的表情圖示符號就是編在UTF-8的保留區,
且其它字碼表絕對沒收錄,所以是個好辦法。
但那些圖案並不是UTF-8的標準收錄字,
所以不是用iPhone的人,收到信是看不到的。
小惡魔市集
關閉廣告




























































































