UTF8-CSV 的麻煩

08:26 3 Comments A+ a-

昨天因為處理某專案的小問題,跟程式碼大戰到凌晨3、4點,一整個沒力XD
後來終於得到正確的答案來。

Excel 只支援本地格式的 csv 編碼檔案,例如繁中版或是英文版+MUI 設為台灣時,Encoding 應該存為 big5 格式。有特別說到支援非 ANSI 編碼的 CSV 格式的原因就是 Excel 不支援 Unicode/UTF8 等格式。

Ref:
http://tlcheng.twbbs.org/TLCheng/Net/NetList.aspx?Action=Function&Module=16&Function=214
http://tlcheng.twbbs.org/TLCheng/Net/NetList.aspx?Action=Function&Module=16&Function=208

儘管得知問題所在,但是...唉該專案,有「必須」使用 .csv 格式的來完成檔案交換,這才是比較讓人頭大的地方orz

為什麼不直接使用 .xls 來完成交換呢?噗~該用戶端有多位使用者,並且可能使用不同一版的 Office,這個...實在是個麻煩的地方。

雖然,我已經能把 utf8-csv 轉存成 big5-csv,但...要是遇到掉字,那不就糗了。哇哩咧,ooxx勒,天吶T_T

3 則意見

Write 則意見
takol
AUTHOR
2:45 下午 delete

Wow! 這是個很重大的資訊,我習慣用CSV來交換xls,原來還有這層限制。如果用HTML table, tr, td 輸出為 xls,可以利用UTF-8 編碼嗎?哪幾個版本的Excel可以開啟這種假HTML的xls呢?

Reply
avatar
小賤健
AUTHOR
1:52 上午 delete

HTLM / XML 是不會有問題的,記得 codepage 設為 utf8 就可以了。
<meta ...content="text/html; charset=utf-8">

Reply
avatar
小賤健
AUTHOR
3:56 下午 delete

此題有解了,拖了如此久的時間XD
既然 UTF8-CSV 會掉字,那麼改由 UTF8-XML 來達成。這樣可以避免掉 csv 檔不吃 big5 以外的字的問題。

CSV 與 XML 同為文字輸出,但是差別在對於 unicode/UTF8 的支援差異。而輸出的檔案不僅為檔準文字格式,且可以由 Excel 直接開啟,甚至可以對儲存格進行格式化的設定,這是一般 CSV 做不到的吶。

哈哈哈,真是太美麗啦。我就知道,跟銀行妹講完話會有好事發生啦,哦耶。

Reply
avatar