Re: [請益] 瀏覽器遇到utf-8不會自動選擇

看板PHP作者 (尋找屬於我的世界)時間19年前 (2006/12/23 15:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
google到,不知道對不對 (1)服務器端: 修改httpd.conf (在Redhat中放置的位置為/etc/httpd/conf/) 查找: AddDefaultCharset ISO-8859-1 改成: #AddDefaultCharset ISO-8859-1 AddDefaultCharset off 這種方式關掉了服務器的默認語言的發送,這樣僅憑html文件頭中設置的語言來決定網 頁語言。 很多文章都說通過修改為 AddDefaultCharset GB2312 把缺省語言改成GB2312來解決中 文亂碼,確實GB2312內碼的網頁可以正常顯示了,但這並非萬全之策。因為當你的網頁內 碼不是GB2312,就算你在網頁用下面的meta指定了正確的語言,如ISO8859-1,也不會解 碼為ISO8859-1,因為Apache已經先你一步將GB2312指定為網頁的語言了。 (2)養成良好的習慣,在每個網頁的<head>;</head>;的最前面加入這行:      <meta http-equiv="Content-Type" content="text/html; charset=gb2312">;  一般的中文版網頁編輯工具(例如FrontPage、Dreamweaver等)都會自動加上這行。 3、如何解決中文文件名無法訪問  在ie中選擇 工具 ->; internet選項 ->; 高級 ->; 取消「總是以UTF-8發送URL」。 UTF-8網頁空白,在網頁中加上metadata標識後,還需要手動調整編碼為 utf-8 才能正 常顯示 如果使用的是Mozilla、Mozilla Firefox、Sarafi等其他目前流行的瀏覽器,通常就不 會有這樣的問題。 在網頁的meta中指定用UTF-8: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />; 在<head>;</head>;之前,把"Content-Type"放在最前面,便可以解決這樣的問題了。 原因: IE 解析網頁編碼時是 HTML 內的標識優先的,然後是 HTTP header ;而mozilla 系列 的瀏覽器剛剛好相反。 一般情況在,很多人是把<title>;</title>;排在最前面,並且在title中就出現了UTF-8 中文,這樣,IE在解析時,就先遇到UTF-8,不往下解析了,因此必須把如果把meta放在 UTF-8出現之前,這樣IE才能判斷這個網頁是以UTF-8編碼的。 總之: 無論是 PHP、JSP、ASP 或其他動態網頁的腳本語言,如果需要作編碼設定,最好放在最 前面。 使用php,也可以定義php的默認語言. php.ini中: default_charset = "gb2312" 釋掉此行,做了以上修改,一樣是為了讓瀏覽器根據網頁頭中的charset來自動選擇語言 ,這樣就可以在同台服務器上提供多種語言的網頁服務。 -- -- ※ 編輯: Maxey 來自: 140.123.237.132 (12/23 16:47)
文章代碼(AID): #15ZE6ceN (PHP)
文章代碼(AID): #15ZE6ceN (PHP)