小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

解決 Web 服務(wù)器各種應(yīng)用的亂碼問題_世外桃源

 wuxyu 2007-04-03
Q:解決 Web 服務(wù)器各種應(yīng)用的亂碼問題 
 A:(1)服務(wù)器端:
     修改httpd.conf (在Redhat中放置的位置為/etc/httpd/conf/)
     查找:
     AddDefaultCharset ISO-8859-1
     改成:

     #AddDefaultCharset ISO-8859-1

     AddDefaultCharset off

     這種方式關(guān)掉了服務(wù)器的默認語言的發(fā)送,這樣僅憑html文件頭中設(shè)置的語言來決定網(wǎng)頁語言。

     很多文章都說通過修改為 AddDefaultCharset GB2312 把缺省語言改成GB2312來解決中文亂碼,確實GB2312內(nèi)碼的網(wǎng)頁可以正常顯示了,但這并非萬全之策。因為當你的網(wǎng)頁內(nèi)碼不是GB2312,就算你在網(wǎng)頁用下面的meta指定了正確的語言,如ISO8859-1,也不會解碼為ISO8859-1,因為Apache已經(jīng)先你一步將GB2312指定為網(wǎng)頁的語言了。

     (2)養(yǎng)成良好的習慣,在每個網(wǎng)頁的〈head〉;〈/head〉;的最前面加入這行:

     〈meta http-equiv=“Content-Type“ content=“text/html; charset=gb2312“〉;

     一般的中文版網(wǎng)頁編輯工具(例如FrontPage、Dreamweaver等)都會自動加上這行。

     3、如何解決中文文件名無法訪問

     在ie中選擇 工具 -〉; internet選項 -〉; 高級 -〉; 取消“總是以UTF-8發(fā)送URL”。

     UTF-8網(wǎng)頁空白,在網(wǎng)頁中加上metadata標識后,還需要手動調(diào)整編碼為 utf-8 才能正常顯示

     如果使用的是Mozilla、Mozilla Firefox、Sarafi等其他目前流行的瀏覽器,通常就不會有這樣的問題。

     在網(wǎng)頁的meta中指定用UTF-8:

     〈meta http-equiv=“Content-Type“ content=“text/html; charset=UTF-8“ /〉;

     在〈head〉;〈/head〉;之前,把“Content-Type“放在最前面,便可以解決這樣的問題了。

     原因:

     IE 解析網(wǎng)頁編碼時是 HTML 內(nèi)的標識優(yōu)先的,然后是 HTTP header ;而mozilla 系列的瀏覽器剛剛好相反。

     一般情況在,很多人是把〈title〉;〈/title〉;排在最前面,并且在title中就出現(xiàn)了UTF-8中文,這樣,IE在解析時,就先遇到UTF-8,不往下解析了,因此必須把如果把meta放在UTF-8出現(xiàn)之前,這樣IE才能判斷這個網(wǎng)頁是以UTF-8編碼的。

     總之:無論是 PHP、JSP、ASP 或其他動態(tài)網(wǎng)頁的腳本語言,如果需要作編碼設(shè)定,最好放在最前面。

     使用php,也可以定義php的默認語言.

     php.ini中:

     default_charset = “gb2312“

     釋掉此行,做了以上修改,一樣是為了讓瀏覽器根據(jù)網(wǎng)頁頭中的charset來自動選擇語言,這樣就可以在同臺服務(wù)器上提供多種語言的網(wǎng)頁服務(wù)。

     java中文亂碼的解決

     轉(zhuǎn)

     在基于JAVA的編程中,經(jīng)常會碰到漢字的處里及顯示的問題,比如一大堆亂碼或問號。

     這是因為JAVA中默認的編碼方式是UNICODE,而中國人通常使用的文件和DB都是基于GB2312或者BIG5等編碼,故會出現(xiàn)此問題。

     1、在網(wǎng)頁中輸出中文。

     JAVA在網(wǎng)絡(luò)傳輸中使用的編碼是“ISO-8859-1“,故在輸出時需要進行轉(zhuǎn)化,如:
     String   str=“中文“;
     str=new   String(str.getBytes(“GB2312“),“8859_1“);
     但如果在編譯程序時,使用的編碼是“GB2312”,且在中文平臺上運行此程序,不會出現(xiàn)此問題,一定要注意。

     2、從參數(shù)中讀取中文

     這正好與在網(wǎng)頁中輸出相反如:
     str=new   String(str.getBytes(“8859_1“),“GB2312“);

     3、操作DB中的中文問題

     一個較簡單的方法是:在“控制面扳”中,把“區(qū)域”設(shè)置為“英語(美國)”。如果還會出現(xiàn)亂碼,還可進行如下設(shè)置:
     取中文時:str=new   String(str.getBytes(“GB2312“));
     向DB中輸入中文:str=new   String(str.getBytes(“ISO-8859-1“));

     4、在JSP中的中文解決:

     在“控制面扳”中,把“區(qū)域”設(shè)置為“英語(美國)”.
     在JSP頁面中加入:
     如果還不行正常顯示,則還要進行下面的轉(zhuǎn)換:
     如:name=new   String(name.getBytes(“ISO-8859-1“),“GBK“);
     就不會出現(xiàn)中文問題了。

     CGI的?不知道對不?

     找到CGI.pm,打開它,找到$self-〉;charset(’ISO-8859-1’);將它改為$self-〉;charset(’GB2312’);

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多