日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Rails中文問題解決方法(FreeBSD+MySQL)

有關(guān)Rails中文問題,在網(wǎng)上看了很多的解決方法,都沒有成功,經(jīng)過(guò)多次試驗(yàn),終于成功,并且覺得網(wǎng)上有些內(nèi)容寫得不對(duì),在這里,我總結(jié)一下我的中文處理方法。

成都創(chuàng)新互聯(lián)專注于漢壽企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。漢壽網(wǎng)站建設(shè)公司,為漢壽等地區(qū)提供建站服務(wù)。全流程按需設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

Rails中文問題解決方案步驟

1.操作系統(tǒng):FreeBSD

2.數(shù)據(jù)庫(kù)是mysql 5.1.33 在安裝在FreeBSD之后,在默認(rèn)路徑是/usr/local/mysql。 在support-files文件夾中,將一個(gè)配置文件復(fù)制到/etc中,并改名為my.cnf,這就是mysql的默認(rèn)配置文件,修改此文件,在文件中的[client],[mysqld],[mysql]部分增加“default-character-set=gbk”。重啟數(shù)據(jù)庫(kù),就可以將數(shù)據(jù)庫(kù)一些配置改成gbk。進(jìn)行數(shù)據(jù)庫(kù)后,運(yùn)行“ show variables like 'character_set_%';”后結(jié)果:

 
 
 
  1. +--------------------------+----------------------------------+  
  2. | Variable_name            | Value                            |  
  3. +--------------------------+----------------------------------+  
  4. | character_set_client     | gbk                              |   
  5. | character_set_connection | gbk                              |   
  6. | character_set_database   | utf8                             |   
  7. | character_set_filesystem | binary                           |   
  8. | character_set_results    | gbk                              |   
  9. | character_set_server     | gbk                              |   
  10. | character_set_system     | utf8                             |   
  11. | character_sets_dir       | /usr/local/mysql/share/charsets/ |   
  12. +--------------------------+----------------------------------+ 

3.rails使用2.3.3,建立rails項(xiàng)目后,將config/database.yml中的encoding改為gbk.

4.在編寫程序時(shí),使用utf-8編碼編寫.rb文件,如果頁(yè)面中提交的參數(shù)中有中文,那么提交后中文后變成亂碼,這樣就要用gbk將參數(shù)先進(jìn)行轉(zhuǎn)碼(這個(gè)要根據(jù)你的程序進(jìn)行編寫,我的程序 的公用部分這樣寫的)

在application_controller.rb中增加

 
 
 
  1. before_filter :set_charset 
  2. def set_charset  
  3.     headers["Content-Type"] = "text/html; charset=utf-8" 
  4. end 
  5.  
  6. #解析參數(shù)  
  7. parameters = @request.parameters  
  8. parameters.each do |key, value|  
  9.  #value is being encoded if chinese  
  10.  parameters[key] = gbk(value)  
  11. end 
  12.  
  13. #from utf-8 to gb2312  
  14. def self.gbk(text = '')  
  15.  return '' if text.blank?  
  16.  text = Iconv.conv('gb2312//IGNORE''utf-8//IGNORE', text)  
  17.  return text  
  18. end 

這樣在寫入數(shù)據(jù)庫(kù)中就是中文了。

5.在取出數(shù)據(jù)庫(kù)信息后要進(jìn)行utf8編碼

6.在輸出頁(yè)面中要加入“< meta http-equiv="content-type" content="text/html; charset=utf-8"/>”

這樣就可能正確顯示中文了,總之,轉(zhuǎn)碼的過(guò)程是:utf8->gbk這是從頁(yè)面到數(shù)據(jù)庫(kù)的過(guò)程,從數(shù)據(jù)庫(kù)到頁(yè)面是gbk->utf8。

這樣就介紹了Rails中文問題的解決方法。本文來(lái)自Ming's Blog:《Rails, Mysql, FreeBSD中文問題解決》。

【編輯推薦】

  1. Ruby on Rails入門之道
  2. Ruby on Rails 2.3.3發(fā)布 主要修復(fù)Bug
  3. Ruby on Rails開發(fā)的五點(diǎn)建議
  4. 淺談Ruby和JRuby的學(xué)習(xí)
  5. Web開發(fā)誰(shuí)更高效 Java對(duì)決Ruby on Rails

當(dāng)前名稱:Rails中文問題解決方法(FreeBSD+MySQL)
分享鏈接:http://www.5511xx.com/article/cciejoj.html