回覆列表
  • 1 # a不會愛的小笨蛋

    亂碼分三種情況:

    1.html亂碼。

    2.javascript亂碼3.資料庫亂碼(我用的是mysql,其他也一樣,操作資料庫是直接用phpmyadmin操作)網頁設計基本就這三種情況。筆者不幸的全遇到了(這是巧合嗎?坑啊),但幸運的是,在筆者閱讀了大量相關資料以及對亂碼原理深入理解後,已經將其全部解決。html亂碼的解決1.你沒有Dreamweaver的話:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 把這行程式碼複製到你的<head></head>之間,這會使你的網頁開啟時,瀏覽器預設編碼為utf8,當然,建議你所有的網頁編碼統一,都設定為utf8,或者都設定為gb2312。2.如果你有Dreamweaver的話:你可以不必記住這行程式碼,因為Dreamweaver可以設定,如圖:選擇"頁面屬性"(上邊的修改中也可以找到),選擇"標題/編碼",更改編碼確保編碼統一(建議統一為utf8或gb2312)選擇統一編碼後點擊“應用”,Dreamweaver會自動將一行程式碼加入你的網頁。但是記住,要統一編碼。在你製作第一張網頁時就這樣設定,這樣做的好處是你以後用Dreamweaver編輯的每一張網頁都會自動統一編碼。js亂碼的解決這裡js亂碼是指由js製作的彈窗內容為亂碼的情況,這種情況很頭疼,但一般不會出現,如果出現,不好解決。1.若你的js彈窗內容出現亂碼,首先檢查原網頁程式碼中的輸出內容是否是亂碼(由於亂改頁面設定,導致本來的漢字變成亂碼)2.如果你確保你的原網頁程式碼中不是亂碼,那麼說明js輸出內容與頁面編碼不符,這時我們應強制將輸出內容轉變編碼與頁面編碼統一。強制轉換編碼的方法有很多,我這裡使用php做到了這些<?php$ss=iconv("utf8" , "gb2312//IGNORE" , "你想輸入的漢字") ;echo $ss;echo "<script language=javascript>alert("$ss");</script>";?>這樣做的好處是,無論網頁編碼是utf8還是gb2312,你的js彈窗內容都不會是亂碼。但缺點也很明顯,你的檔案字尾名從.html需要改為.php(否則php不被編譯),而且php執行佔用伺服器記憶體,但只是轉換編碼並不用擔心消耗太多伺服器記憶體。資料庫亂碼的解決這裡資料庫亂碼是指1.插入正常資料後,資料庫裡顯示亂碼2.正常資料讀取出在頁面顯示亂碼3.建立資料庫時資料庫(表、欄位)的編碼有問題解決辦法:1.插入資料庫前將資料強行轉換編碼,與資料庫統一。(這裡筆者操作資料庫所用的是php)<?php$ss=iconv("utf8" , "gb2312//IGNORE" , "你想插入的漢字資料") ;mysql_query("insert into 表名(欄位名) values(‘$ss’)");?>這樣在資料庫內檢視資料時,不會出現亂碼。但如果你將頁面編碼與資料庫編碼統一的話,根本不會出現這種問題。2.正常資料讀取出在頁面顯示亂碼,首先檢查資料庫內容是否是亂碼,如果是,參照方法1:“插入正常資料後,資料庫裡顯示亂碼”解決,這時資料庫裡資料正常,但頁面輸出仍是亂碼,說明html編碼有問題或不統一。參照“html亂碼的解決“進行。3.你將頁面調整統一編碼,可資料庫編碼不統一,你又不想刪除資料庫重新建立。又嫌插入資料的地方太多,那怎麼辦,只好更改資料庫編碼了。開啟phpmyadmin。如圖,選擇資料庫的“操作”-->"整理",然後統一編碼。更改資料庫後再逐個檢查資料表的“整理”,確認編碼統一!!這裡是建立資料庫時就統一編碼的方法,如果早這麼做就不會遇到亂碼問題!!下一回記住了。在建表時就統一最方便了。END注意事項無論哪種亂碼問題,筆者在這裡建議製作網頁前就將資料庫、頁面編碼統一為utf8或gb231。這是一種良好的習慣,這種習慣會減少不必要亂碼問題的出現。

  • 中秋節和大豐收的關聯?
  • 培養基配置原則是什麼呢?