1、首先查看自己所寫程序頁面的編碼是什么字符編碼的,是gb2312還是utf-8的:
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、雙橋網(wǎng)站維護、網(wǎng)站推廣。
2、找到j(luò)s文件右擊鼠標,選擇打開方式,找到記事本的選項打開:
3、打開后單擊記事本菜單欄的文件選項,然后選擇另存為,彈出另存為對話框:
4、在彈出的保存窗口的最下面有一個編碼類型,將這個編碼類型選擇程序?qū)?yīng)的類型,然后保存,就可以消除亂碼的問題了。以上就是解決js中文亂碼的操作:
//--------把中文字符轉(zhuǎn)換成Utf8編碼------------------------//
function?EncodeUtf8(s1)
{
var?s?=?escape(s1);
var?sa?=?s.split("%");
var?retV?="";
if(sa[0]?!=?"")
{
retV?=?sa[0];
}
for(var?i?=?1;?i??sa.length;?i?++)
{
if(sa[i].substring(0,1)?==?"u")
{
retV?+=?Hex2Utf8(Str2Hex(sa[i].substring(1,5)));
}
else?retV?+=?"%"?+?sa[i];
}
return?retV;
}
function?Str2Hex(s)
{
var?c?=?"";
var?n;
var?ss?=?"0123456789ABCDEF";
var?digS?=?"";
for(var?i?=?0;?i??s.length;?i?++)
{
c?=?s.charAt(i);
n?=?ss.indexOf(c);
digS?+=?Dec2Dig(eval_r(n));
}
//return?value;
return?digS;
}
function?Dec2Dig(n1)
{
var?s?=?"";
var?n2?=?0;
for(var?i?=?0;?i??4;?i++)
{
n2?=?Math.pow(2,3?-?i);
if(n1?=?n2)
{
s?+=?'1';
n1?=?n1?-?n2;
}
else
s?+=?'0';
}
return?s;
}
function?Dig2Dec(s)
{
var?retV?=?0;
if(s.length?==?4)
{
for(var?i?=?0;?i??4;?i?++)
{
retV?+=?eval_r(s.charAt(i))?*?Math.pow(2,?3?-?i);
}
return?retV;
}
return?-1;
}
function?Hex2Utf8(s)
{
var?retS?=?"";
var?tempS?=?"";
var?ss?=?"";
if(s.length?==?16)
{
tempS?=?"1110"?+?s.substring(0,?4);
tempS?+=?"10"?+??s.substring(4,?10);
tempS?+=?"10"?+?s.substring(10,16);
var?sss?=?"0123456789ABCDEF";
for(var?i?=?0;?i??3;?i?++)
{
retS?+=?"%";
ss?=?tempS.substring(i?*?8,?(eval_r(i)+1)*8);
retS?+=?sss.charAt(Dig2Dec(ss.substring(0,4)));
retS?+=?sss.charAt(Dig2Dec(ss.substring(4,8)));
}
return?retS;
}
return?"";
}
記得不怎么清楚 JavaScript 原身 是Netscape的LiveScript ,客戶端腳本語言,因為當時sun的java比較流行,便趕時髦 叫做 JavaScript
Script 即腳本意思,你可以理解它的中文意思即 java的客戶端腳本語言,實際上它與java是不同的
中文拼音排序一直都是很有趣的一個問題。推薦使用這個函數(shù) String.prototype.localeCompare(),鏈接 MDN。首先用 localeCompare 試下拼音排序
var array = ['武漢', '北京', '上海', '天津'];
array.sort(
function compareFunction(param1, param2) {
return param1.localeCompare(param2);
}
);
array // ["北京", "上海", "天津", "武漢"]
然后根據(jù) 26 個英文字母分組排序,函數(shù)如下,
function pySegSort(arr) {
if(!String.prototype.localeCompare)
return null;
var letters = "*abcdefghjklmnopqrstwxyz".split('');
var zh = "阿八嚓噠妸發(fā)旮哈譏咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');
var segs = [];
var curr;
letters.forEach(function(item,i){
curr = {letter: item, data:[]};
arr.forEach(function(item2){
if((!zh[i-1] || zh[i-1].localeCompare(item2) = 0) item2.localeCompare(zh[i]) == -1) {
curr.data.push(item2);
}
});
if(curr.data.length) {
segs.push(curr);
curr.data.sort(function(a,b){
return a.localeCompare(b);
});
}
});
return segs;
}
測試:
pySegSort(["我","不","懂","愛","啊","按","已","呀","選","縣"])
結(jié)果:
[{"letter":"a","data":["啊","愛","按"]},{"letter":"b","data":["不"]},{"letter":"d","data":["懂"]},{"letter":"w","data":["我"]},{"letter":"x","data":["縣","選"]},{"letter":"y","data":["呀","已"]}]
var arr = ["張三","李四","王五","阿三"];?
document.write(arr+"");
arr.sort(function(a,b){
return a.localeCompare(b);
});
document.write(arr);
定義和用法:
用本地特定的順序來比較兩個字符串。
語法:
stringObject.localeCompare(target)
參數(shù)描述:
target ? ?要以本地特定的順序與 stringObject 進行比較的字符串。 ?
返回值:
說明比較結(jié)果的數(shù)字。如果 stringObject 小于 target,則 localeCompare() 返回小于 0 的數(shù)。如果 stringObject 大于 target,則該方法返回大于 0 的數(shù)。如果兩個字符串相等,或根據(jù)本地排序規(guī)則沒有區(qū)別,該方法返回 0。
說明:
把 和 運算符應(yīng)用到字符串時,它們只用字符的 Unicode 編碼比較字符串,而不考慮當?shù)氐呐判蛞?guī)則。以這種方法生成的順序不一定是正確的。例如,在西班牙語中,其中字符 “ch” 通常作為出現(xiàn)在字母 “c” 和 “d” 之間的字符來排序。
localeCompare() 方法提供的比較字符串的方法,考慮了默認的本地排序規(guī)則。ECMAscript 標準并沒有規(guī)定如何進行本地特定的比較操作,它只規(guī)定該函數(shù)采用底層操作系統(tǒng)提供的排序規(guī)則。
參考資料
百度知道.百度知道[引用時間2018-1-5]
JavaScript簡介:
Javacript是一種能讓你的網(wǎng)頁更加生動活潑的程式語言,也是目前網(wǎng)頁中設(shè)計中最容易學又最方便的語言。你可以利用Javacript輕易的做出親切的歡迎訊息、漂亮的數(shù)字鐘、有廣告效果的跑馬燈及簡易的選舉,還可以顯示瀏覽器停留的時間。讓這些特殊效果提高網(wǎng)頁的互動性、提供親切的服務(wù)。
由來
談到JavaScript的歷史,首先就得介紹[網(wǎng)景](Netscape)這家公司,相信很多人使用過Netscape瀏覽器來瀏覽網(wǎng)頁,這家公司在設(shè)計瀏覽器的時候,一方面為了輔助本身發(fā)展的一種名為LiveWire的程式,另一方面為了提高網(wǎng)頁設(shè)計的互動性,所以發(fā)展了LiveScript這個電腦語言。
那JavaScript和LiveScript有什么關(guān)系呢?在Netscape發(fā)展LiveScript的同時,另一家名為[升陽](Sun)的公司也正在發(fā)展Java語言,為了輔助Java的網(wǎng)頁程式方面的設(shè)計,所以這兩家公司進行合作,共同發(fā)展LiveScript語言,并且將LiveScript語言改名為Javacript,這就是Javacript的由來。
JavaScript剛開始時僅應(yīng)用在Netscape瀏覽器,不過隨著使用JavaScript制作網(wǎng)頁的人愈來愈多,微軟的IE瀏覽器也提供了新功能,現(xiàn)在可以在IE瀏覽器上看到JavaScript的效果了。
JavaScript和Java的差別
JavaScript和Java的差別究竟在哪兒呢?雖然名稱很相似,而且都是在Internet和WWW盛行之下,所發(fā)展出為的兩種提供網(wǎng)頁程式設(shè)計的語言,但是卻有很大的差異。前面介紹過JavaScript的前身是網(wǎng)景(Netscape)公司發(fā)展的Live Script語言,直到和升陽(Sun)公司合作之后,才改名為JavaScript,而Java也是由升陽公司發(fā)展出來的,所以名字才會這么相似。盡管如此,JavaScript和Java仍然是不同的語言。我們整理出以下四點幫助你了解兩者的差異:
1、JavaScript是一種象文件一樣的描述語言,透過瀏覽器就可以直接執(zhí)行;而Java像正統(tǒng)的程式語言(如C/C++)一樣,必須先進行編繹和連結(jié)等動作才可執(zhí)行。
2、JavaScript必須編寫在HTML文件中,直接查看網(wǎng)頁的原始碼,就可以看到JavaScript程式,所以沒有保護,任何人都可以透過HTML文件復制程式;而Java應(yīng)用在網(wǎng)頁的程式稱為Java Applet(Applet是[小程式]的意思),是和HTML文件分開的。
3、JavaScript的結(jié)構(gòu)較為自由松散,譬如,程式中使用的變數(shù)前并不是需要明確的定義,而Java和正統(tǒng)的程式語言一樣,結(jié)構(gòu)較為嚴謹。
4、JavaScript不具有讀寫檔案及網(wǎng)絡(luò)控制等功能,Java則有提供這些功能,但是JavaScript在網(wǎng)頁內(nèi)容的控制和互動性方面,可算是最方便快捷的。
JavaScript的功能
顯示信息提示
許多網(wǎng)站在你一連上時,畫面上會先出現(xiàn)一個歡迎訊息對話盒,不但和你打招呼,還會發(fā)布一些重要訊息
顯示日期時間
某些網(wǎng)頁會顯示目前的日期和時間,可能你會覺得有點神奇,怎么瀏覽器會知道目前的時間呢?這也是JavaScript提供的功能,它可以偵測你的電腦目前的時間,并且顯示在網(wǎng)頁中。
顯示更新日期
許多網(wǎng)頁會公告最新更新日期讓大家知道,Java Scirpt可以自動偵測網(wǎng)頁修改的日期,讓你省去在每次修改網(wǎng)頁時就得修改日期的動作。
跑馬燈文字
讓你可以方便顯示較長的訊息,又不占去大塊的版面空間。
按鈕變化效果
當你移動滑鼠游到左邊的按鈕上時,按鈕便會變成色,在瀏覽器下方狀態(tài)列上也會顯示出相關(guān)文字,這也是利用JavaScript制作的動態(tài)效果。
瀏覽器編碼問題。選擇工具欄的查看-字符編碼-選擇unicode8.
另外靜態(tài)網(wǎng)頁無法強制瀏覽器使用某編碼,就算設(shè)置meta也是不能的。動態(tài)網(wǎng)頁可以服務(wù)器端用header來強制啟用。