2011-04-25 52 views
2

我是一個主要在Ruby(和Rails)和C#中工作的Web開發人員。Rails Web開發人員何時需要開始擔心字符編碼?

我現在在閱讀「Ruby編程語言」,其中有來自Matz的輸入和「_Why幸運兒」的圖紙,以加深我對Ruby如何真正工作的瞭解。

關於字符串的章節講述了很多關於編碼,多字節字符等的內容,我似乎記得Joel Spolsky在博客中關於每個開發人員應該如何瞭解x編碼的知識。但是你真的開始看到這種影響的是什麼時候?

例如,在原來的Rails screencast上沒有20分鐘的編碼介紹,但是一些開發人員說這是關鍵的知識。

那麼你需要知道多少時間?

+2

我猜想「無論何時你輸入或輸出一個字符串」都會有點過於隱晦和寬泛。 – 2011-04-25 21:48:56

+0

是的,它是正確的在那裏與RTM:P – 2011-04-25 21:55:22

+2

在您開始開發網站之前;) – sehe 2011-04-25 21:58:59

回答

1

回到我的時代,我們並不在乎。一切都是文字。然後,隨着微軟的ASCII擴展,我們知道的下一件事情都變成了現實。 :-)嘿,你MICROSOFT,放棄我的草坪!

不幸的是,在當今的互聯網和網絡世界中,從創建的第一行代碼或文本內容考慮它是很重要的。

當您的網站生成輸出時,您有一個優勢,可以確保您的所有源文本和模板都使用UTF-8編碼。

如果您通過解析或抓取來吸取其他人的內容,那麼您的任務會變得更加困難,因爲Web服務器喜歡說謊他們發送給您的內容,甚至是HTML頁面都要撒謊,而且很難相信,XML頁面將會存在,儘管它們不應該。因此,您的代碼必須非常防守,並且在感知「外來」代碼集中的字符時準備好進行多字節編碼。您可能需要跳過一些箍環以轉換回您選擇的UTF-8編碼,這是我的建議,或ISO1859-1或CP1252或任何它。確保您使用的是rescue模塊,並測試,測試,測試是否要使系統變得堅固和防彈。

這是我的建議,它基於在Perl和Ruby中編寫許多刮板的一些來之不易的知識。

相關問題