Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

Crond 的 email 編碼
post by tommy @ 24 八月, 2006 16:09

前幾天發現原本在 crond 中所發送出來的信件, 在讀取時, 都不能正確的判斷出編碼來, 需要我手動去變更讀信程式的編碼, 才能正確的讀取裡頭的中文 (UTF-8). 我記得那幾天並沒有異動 crond, 好像只有更新 postfix 到 2.3.2 的版本, 可是看起來又不像是與 postfix 有關.

看了一下所產生的信件標頭, 以前都會正確的使用 charset=UTF-8, 不過這幾天的都是顯示為 charset=ANSI_X3.4-1968, 所以讀信的軟體就沒辦法知道裡頭的內容應該是 UTF-8 才對.

最後, 在 /etc/crontab 中加上 CONTENT_TRANSFER_ENCODING 來指定 crond 所產生的 email 要使用的編碼如下:

CONTENT_TRANSFER_ENCODING="UTF-8"  

這樣子重跑 crond 之後, 所產生的信件又恢復成 UTF-8 編碼了. 


2006/08/25: 今天重開機後發現, 原本加在 /etc/crontab 中的設定無效, 送出來的信件中, charset 並不是 UTF-8, 必須我再執行 /etc/init.d/cron restart 重跑後才有用. 試著把這個設定加到 /etc/init.d/cron 之中, 一樣無效. 最後是加上 LANG 的設定才有用.

export CONTENT_TRANSFER_ENCODING=UTF-8
export LANG=zh_TW.UTF-8

而且要 export 才有作用. (沒試過只加 LANG 有沒有作用, 想試的人再去試吧.) 

Del.icio.us Furl HEMiDEMi Technorati MyShare
迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 139 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS