中文亂碼問題!使用參考資料的連接解決吧!
做網(wǎng)站、成都網(wǎng)站建設(shè),成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向上1000家企業(yè)提供了,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗,合理的價格為您打造企業(yè)品質(zhì)網(wǎng)站。
-----------------
用UE--文件--另存為-選utf-8 重新保存一下那個亂碼的文件,和配置文件。
eclipse也有這樣的功能!
----------------
也可用過濾器
---------------
但是數(shù)據(jù)庫和程序最好用一致的編碼。
---------------
亂碼種類較多,post 亂碼,get亂碼,傳輸亂碼,顯示亂碼等,網(wǎng)上找找,這資料海量呀!
不想修改客戶端的話,就把數(shù)據(jù)庫的連接和存儲都改為gbk即可。數(shù)據(jù)庫會自動轉(zhuǎn)碼。另外一說,最好全部使用utf-8字符集,這樣以后升級起來比較好維護。php對utf-8支持最好,而且現(xiàn)在瀏覽器最好也是用utf-8,因為涉及到很多網(wǎng)站交互或者內(nèi)容分享之類的,現(xiàn)在基本上沒幾個大網(wǎng)站還用gbk了。gbk是中國自己的字符集,utf-8才是國際通用的。
不支持沒有關(guān)系的,如果通過程序存入的文字,直接在SQL中打開看是亂碼的,但是當(dāng)你在頁面中輸出,還是會顯示中文的,沒多大影響。如果你用的是JSP,就要考慮一下中文問題了。
如果出現(xiàn)這樣的情況,建議不要使用直接在SQL輸入文字的方法。
升級一下數(shù)據(jù)庫,可能不支持中文的特殊符號,或者,把特殊符號轉(zhuǎn)義一下
text類型,16長度存的是指針,指向?qū)嶋H存儲的位置。實際存儲位置是不限制長度的。
如果我說如果啊,如果是abc?def?ghi?jkl你打算怎么換是abc+jkl還是abc++jkl,當(dāng)然如果沒有這種情況算我沒說。
還有你什么數(shù)據(jù)庫啊,不同的數(shù)據(jù)庫用到的函數(shù)也不是完全一樣的。當(dāng)然如果都是三位的那就簡單了,如果不都是3位的,那在用下面的方法
比如定位中oracle用instr,sqlserver中用charindex
(1)定位,定位?的位置,不知道你的?是不是字符型的,我假設(shè)它是字符型的
oracle:instr('?',字段,1,1)(第一次出現(xiàn)問號的位置),instr('?',字段,-1,1)(最后一次出現(xiàn)問號的位置),如果只有兩個問號也可以寫成instr('?',字段,1,2)
sqlserver:charindex('?',字段,1)(第一次出現(xiàn)問號),len(字段)-(charindex('?',reverse(字段))-1)(最后一次出現(xiàn)問號),如果只有兩個問號,可以寫成charindex('?',字段,charindex('?',字段,1)+1)
(2)截取需要替換的字符串substring函數(shù),這個二者基本差不多
(3)替換,二者也是大同小異(函數(shù)基本相同,但寫法上有些區(qū)別),我就寫一個。
oracle: select replace(字段,subter(字段,instr('?',字段,1,1),instr('?',字段,-1,1)),'+') from table
至于sqlserver的那就自己完成吧,oracle我的把握大一些,sqlserver需要試驗才行,我這里可沒有相關(guān)環(huán)境。
注:我忘了問號需不需要轉(zhuǎn)譯了,這個你自己試試看吧。