初學Rails,簡單的做了一個例子,發(fā)現(xiàn)存在中文問題。
大致中文問題歸類如下:
?????? 1、頁面無法顯示中文,產(chǎn)生中文亂碼
?????? 2、Mysql數(shù)據(jù)庫采用utf8后,頁面采用utf8,數(shù)據(jù)庫保存是亂碼,但頁面顯示正常。
?????? 3、時間格式在頁面上的中文顯示產(chǎn)生亂碼。
打開:application.rb:修改代碼如下顯示:
1?class?ApplicationController?<?ActionController::Base?
2?before_filter?:set_charset?
3?def?set_charset?
4?@headers["Content-Type"]?=?"text/html;?charset=utf-8"?
5?end?
6?end?
同時對頁面(*.rhtml)上進行增加編碼控制:
<meta?http-equiv="Content-type"?content="text/rhtml;?charset=utf8"?/>
同時在保存頁面時,進行編碼轉(zhuǎn)換成utf8格式。
做完以上工作的話,利用mysql數(shù)據(jù)庫客戶端工具Navicat查看數(shù)據(jù)庫,你會發(fā)現(xiàn)數(shù)據(jù)庫中保存的中文數(shù)據(jù)會出現(xiàn)亂碼,因此需要進一步處理:
1、建數(shù)據(jù)庫時采用utf8編碼進行建庫,同時建表或者導表時要注意采用utf8編碼。
2、采用Navicat連接數(shù)據(jù)庫時在Advanced Settings中選擇Encoding編碼為utf8,同時取消Use MySQL character set的默認選項,再進行連接。
進行以上設置,將會在數(shù)據(jù)庫中顯示出正常的中文。同時頁面上顯示也會是中文,但你會發(fā)現(xiàn)對于時間的顯示上仍然存在一些小問題。因此在輸出時間時需要進行(original_date.strftime("%Y/%m/%d"))轉(zhuǎn)換格式。
完成。
繼續(xù)學習中......,發(fā)現(xiàn)新的問題,再更新。
posted on 2006-09-27 11:55
閔毓 閱讀(6452)
評論(6) 編輯 收藏 所屬分類:
其他