国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

js亂碼解決方法

2019-11-08 02:00:05
字體:
來源:轉載
供稿:網友

第一種方式——編碼統一

我們以前覺得出現亂碼的原因是因為編碼不統一,就是因為我們設置編碼統一之后,就解決了問題,所以,讓html和js的編碼統一,是最簡單的一個亂碼解決方式,原因是什么,是因為,如果你在加載js的時候,并沒有聲明js的編碼格式,那么瀏覽器會默認的按照當前html的編碼格式進行解析引入的js文件,如果你的js和本身頁面編碼不一樣,并且js中引入了中文字符,那么肯定會出現亂碼的。要知道,程序都是笨笨的。

第二種方式——在引入js的標簽中加入charset屬性

這樣引入,那么這個xx.js就會以本身頁面的編碼進行解析,而如果兩個的編碼不一樣,如果這個js是gbk的編碼,那么我們可以這樣寫

<script src="../../lib/Plugins/datepicker_lang_zh_CN.js" charset="utf-8" type="text/javascript"></script>

那么,只要是保證這個js文件的確是gbk或者對應的,你自己寫的編碼,那么無論在哪種編碼的頁面中引用這個js,都不會出現編碼問題,這樣寫才是最規范的,第一種方式會出現一種情況,就是有很少情況下,由于一些不規范的原因,我們會發現即使是編碼統一的時候,也會出現亂碼,那么我們最好就是用第二種方式來寫。

第三種方式——用服務器語言聲明header頭信息

這種方式是比較少見的一種方式,適合某些特定的情況。編碼信息都是在頭信息中聲明的。而js本身并沒有像html mate標簽這樣的聲明頭信息的標簽,所以要借助服務器語言,我是學php的,其header(“Content-Type:text/html;charset=gb2312″);就可以聲明頭信息,而如何寫這個js,就是把js內容寫在php文件中,這里就有一個知識點,就是js文件并不一定非寫在js為后綴的文件中,其實可以寫的服務器文件(php文件等)中,php以<? ?>來包括服務端解析的代碼,而之外的或者echo輸出的代碼都會發送到客戶端,所以,我們將js代碼寫到<??>外部或者直接echo出來,那么這個js代碼同樣可以起作用,這就是我們會發現,我們很多接口等程序,明明是script標簽,引入的卻是一個php文件,或者其他的服務端文件,就是這個道理,這樣來做,就更加的靈活了,因為我們可以借助服務端語言,進行讀取數據庫等等更為復雜的操作,讓這個js代碼更加多樣也更加靈活,實現更加復雜的功能,比如我們

1

<script type=”text/jscript” charset=”gbk” src=”xx.php”></script>

在這個xx.php寫

1234

<?$ip = getenv(’REMOTE_ADDR’);echo ”alert($ip);”;?>

這樣我們訪問這個html頁面,就會彈出ip地址,我們就可以對他進行其他操作等。當然,既然是連接服務端文件,就不能是直接雙擊打開這個html了,一定是通過瀏覽器訪問才可以,或者是連接這個php文件的src要寫http形式,目的就是保證這個php文件要是通過服務器解析訪問的,如果你這樣寫相對目錄的形式連接php,你直接打開html,就相當于直接打開了這個php文件,而不是通過http訪問的,這個php是不能被解析的。講的復雜了,但是這是一個很重要的知識點。如果單從亂碼而言,這種引用js文件的方式適合我們已經引用了,不能再修改這個引用文件了,比如我們在一些外鏈站發了文章,不能再修改了,那么,我們可以修改連接的我們網站上的這個js文件,當前前提是,連接的是服務端文件,我們就可以通過這樣的方式解決。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西峡县| 伊金霍洛旗| 东山县| 凤山市| 阿拉善盟| 万山特区| 内乡县| 定南县| 雅安市| 台湾省| 泸州市| 从江县| 自治县| 吴忠市| 论坛| 保亭| 大庆市| 罗平县| 天祝| 永宁县| 徐州市| 永仁县| 宜兴市| 青铜峡市| 洱源县| 东莞市| 石泉县| 新安县| 临沭县| 衡东县| 丹阳市| 合作市| 潼南县| 博乐市| 泽库县| 香港 | 陇川县| 大厂| 花垣县| 新田县| 莆田市|