今天弄了一天的Ajax中文亂碼問題,Ajax的亂碼問題分為兩種:
1. JavaScript輸出的中文亂碼,
比如:alert("中文亂碼測試");
2. 這第二種就是Ajax從服務(wù)器端獲得的數(shù)據(jù)出現(xiàn)亂碼的問題。(我搜了n個小時試了n中方法才找到答案)
現(xiàn)在將我搜集的比較有效的方法都與大家分享:(我使用的開發(fā)環(huán)境是Eclipse,相信其他語言和開發(fā)環(huán)境都差不太多。)
比如
var message = xmlHttp.responseText;
alert("message: "+message);
獲得這個message輸出就是亂碼
解決辦法有兩種:
(1)在jsp文件里引入js文件時可以這樣寫:<script Charset="UTF-8" type="text/javascript" src="jslib/jquery-1.4.2.min.js"></script>,該方法具有移植性
(2)(該方法可能會導(dǎo)致?lián)Q一臺電腦導(dǎo)入項目后js文件里中文會亂碼). 修改編碼。切記要將代碼備份一下,改了編碼之后中文會變?yōu)閬y碼。
在js文件上右鍵點擊Properties,最好是在菜單欄欄里選擇Window-->Perferences(以絕后患),修改Text file encode 為UTF-8(這里應(yīng)當與jsp中的編碼相同)
同樣的將JavaScript source file和JSP的Default encoding設(shè)置為UTF-8(這里應(yīng)當與jsp中的編碼相同,這樣以后的項目就都是utf-8的編碼了,推薦使用這個)
(2). 注意response.setContentType("text/html;charset=utf-8");和PrintWriter out = response.getWriter();的位置關(guān)系,切記要將PrintWriter out = response.getWriter();放在response.setContentType("text/html;charset=utf-8");的后面,否則設(shè)置的編碼將無效,這也是我弄了n久都搞不定的原因!!!
3. 客戶端發(fā)給服務(wù)器端得中文數(shù)據(jù)為亂碼
解決辦法:示例:客戶端的javaScript腳本
function verify(){
$.get("AJAXServer?name="+encodeURI(encodeURI($("#userName").val())),null,function callback(data){$("#result").html(data);});
}
?注意:encodeURI需要使用兩次!
服務(wù)器端代碼:
//1.取參數(shù)
String str = request.getParameter("name");
str = java.net.URIDecode.decode(str,"UTF-8")
中文名稱 | psp版豆瓣電臺 (2011年6月24日 更新) |
---|---|
原文名稱 | psp版豆瓣電臺 |
發(fā)行版本 開發(fā)人員 |
1.1.5 LonLeung |
游戲類型 | 多媒體 |
發(fā)行廠商 | 豆瓣 © 2005-2012 douban.com, all rights reserved |
容量大小 | 103 KB |
語言 | 中文 |
其他 | 京ICP證090015號 京ICP備09113438 網(wǎng)絡(luò)視聽許可證0110418號 文網(wǎng)文[2009]267號 |
1.0.0
2010-6-18 新建PSP豆瓣電臺項目
1.0.1
2010-7-20 第一個Demo
1.0.2
2010-8-8 在1.0.1版本上增加了官方UI
1.0.3
2011-5-15 PSP豆瓣電臺發(fā)布
1.0.4
2011-5-17 新增加20個豆瓣頻道,用搖桿光標選擇下拉框的頻道后自動播放相應(yīng)頻道的歌曲
1.0.5
2011-5-22 新增豆瓣私人頻道
1.0.6
2011-5-23 新增加紅心、去紅心、刪除歌曲功能
1.1.0
2011-5-24 新增Lee MHz 頻道、優(yōu)化UI
1.1.1
2011-5-25 修正歌曲還差0.5秒未播放完就開始跳歌問題
1.1.2
2011-5-27 修正Skip歌曲時延時問題,增加短報告處理方法,刪除UI中多余的控件讓界面更清爽
1.1.3
2011-6-1 增加長報告處理方法,使后臺的歌曲喜好計算更加準確
1.1.4
2011-6-10 新增一臺服務(wù)器,今后開始采取自動腳本更新方式,方便同學(xué)們升級。
1.1.5
2011-6-24 作者 Saoirse Ronan 對豆瓣電臺圖標進行了美化修復(fù)
thunder://QUFodHRwOi8vMTI3LjAuMC4xLzExMDUxNjE4NDlmODdkN2EyOTNhZGRjNWVhLnJhcj9maWQ9ZnVTVnFDTTFNcDVkSlp1eGhMRjlKMjRSNGtwR1JRSUFBQUFBQUs2YldpMGo3SThjK2FRZzdkQ1pyandzWUxXcCZtaWQ9NjY2JnRocmVzaG9sZD0xNTAmdGlkPTRGMjJFOUUyQjkxMjhEN0UxRUNGNTUwMUE4NDNFOTRBJnNyY2lkPTZaWg==
115網(wǎng)盤:http://u.115.com/file/e61dk1rk
(2012-3-28 更新: 公共頻道)
dbank網(wǎng)盤: http://dl.dbank.com/c0gdv0aj9c
xhEditor是一個基于jQuery開發(fā)的簡單迷你并且高效的可視化XHTML編輯器,基于網(wǎng)絡(luò)訪問并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。
在眾多用戶不斷的問題回饋和意見反饋下,經(jīng)過長達1年零3 個月的不斷完善后,v1系列的正式版本v1.0.0 Final終于正式對外發(fā)布。經(jīng)過這么久的不斷開發(fā)修正和完善,v1.0.0 Final的BUG數(shù)量相對已經(jīng)非常少,我們有自信可以給大家交上一份滿意的答卷。
我們不是最好的,但是我們會努力做的更好,我們愿意傾聽和接受所有用戶的心聲。最后,大家在使用過程中若發(fā)現(xiàn)任何的問題,或者有比較好的創(chuàng)意和想法,可以隨時向我們反饋(yanis.wang@gmail.com),我們會隨時傾聽大家的意見,xhEditor的發(fā)展離不開大家的支持。
查看最新版演示:http://xheditor.com/demo
更多官方在線演示:
1. 默認模式:http://xheditor.com/demos/demo01.html
2. 自定義按鈕:http://xheditor.com/demos/demo02.html
3. 皮膚選擇:http://xheditor.com/demos/demo03.html
4. 其它選項:http://xheditor.com/demos/demo04.html
5. Javascript交互:http://xheditor.com/demos/demo05.html
6. 非utf-8編碼網(wǎng)頁調(diào)用:http://xheditor.com/demos/demo06.html
7. UBB可視化編輯:http://xheditor.com/demos/demo07.html
8. Ajax文件上傳:http://xheditor.com/demos/demo08.html
9. 插件擴展:http://xheditor.com/demos/demo09.html
10.iframe調(diào)用文件上傳:http://xheditor.com/demos/demo10.html
11.異步加載:http://xheditor.com/demos/demo11.html
最新1.0.0 Final版本更新內(nèi)容(2010-7-1):
1. 添加:添加html5Upload參數(shù),用以關(guān)閉HTML5上傳功能,若關(guān)閉HTML5上傳,則upMultiple參數(shù)無效
2. 添加:添加delShortcuts API接口,以供插件或者外部動態(tài)的刪除快捷鍵
1. 修正:UBB模塊背景色在Firefox瀏覽器下某些情況會丟失問題的修正
2. 修正:IE6瀏覽器直接在標簽內(nèi)調(diào)用初始化JS代碼失敗問題的修正
3. 修正:插件代碼在IE的某些特殊情況會造成焦點丟失問題的修正
4. 修正:Firefox瀏覽器下用jQuery的load動態(tài)加載帶編輯器代碼頁面無效問題的修正
5. 修正:從Word文檔粘貼內(nèi)容在Chrome瀏覽器中清理不完全問題的修正
6. 修正:inlineStyle參數(shù)無效問題的修正
7. 修正:IE瀏覽器粘貼無法清理Word文檔問題的修正
1. 調(diào)整:優(yōu)化初始化代碼以提高初始化速度
2. 調(diào)整:考慮到“關(guān)于”按鈕自動顯示容易影響正常用戶使用體驗,特關(guān)閉此按鈕的自動顯示功能
3. 調(diào)整:考慮php的json支持需要5.2版本以上才支持,對演示上傳程序upload.php進行了適當?shù)恼{(diào)節(jié)以提高兼容性,并同時優(yōu)化了某些代碼流程
4. 調(diào)整:upMultiple參數(shù)由原先的邏輯值,變更為數(shù)值型,代表允許一次最大上傳文件數(shù),允許值:大于0的整數(shù),等于1代表關(guān)閉多文件選擇
5. 調(diào)整:縮略圖等參數(shù)分隔符逗號:“,”在非常多的特殊URL中容易出現(xiàn),因此變更為:“||”
6. 調(diào)整:根據(jù)用戶反饋意見,將默認表情變更為QQ表情
7. 調(diào)整:某些按鈕的功能代碼中使用title屬性傳值,會與某些toolTip插件沖突,因此變更傳值屬性值以提高兼容性
8. 調(diào)整:關(guān)閉所有textarea在Chrome瀏覽器中的拖動改變大小功能
最新v1.0.0 Final下載地址:
http://xheditor.com/download
1.HTML頁面直接寫
<img alt="powerbookg4.jpg" src="archives/images/powerbookg4.jpg" width="250" height="60" style="-moz-opacity:0.5; filter:alpha(opacity=50);cursor:pointer;" />
2.JS中寫
在IE中需要通過"filter"來定義透明度"opacity",而在Mozilla中是可以直接解析"opacity",所以如果要使得這個效 果在兩種瀏覽器中都得到支持,需要把兩種設(shè)定都加進去。針對IE的設(shè)定:this.filters.alpha.opacity=50 而針對 Mozilla的設(shè)定:this.style.MozOpacity=0.5
3.CSS樣式表中寫
css代碼里這樣寫就可以:
.div {
filter:alpha(opacity=50);/*IE*/
opacity:0.5;/*Mozilla*/
}
1)表格:插入表格采用dialog,可設(shè)置常用屬性。插入表格后在表格上點擊右鍵彈出表格控制菜單。
2)右鍵菜單(contextmenu):支持左側(cè)小圖標、分割線,外觀更美觀。
3)菜單(menu):標題、字體、文字大小、顏色可以反映當前狀態(tài)。
4)表情:增加分頁和預(yù)覽,通過allowPreviewEmoticons屬性可關(guān)閉預(yù)覽表情功能。
5)彈出框(dialog):彈出框支持陰影效果,通過shadowMode可關(guān)閉陰影效果。
6)國際化:3.5版本開始所有中文都提取到一個js里,制作其它語言版本只需要翻譯src/lang/zh_CN.js即可。
7)新接口:引入KE.html, KE.text, KE.selectedHtml, KE.insertHtml, KE.appendHtml, KE.isEmpty等函數(shù)。
其它改善和bugfix:
--------
* 改善: 編輯器底部顯示向下拖動指示圖標。
* 改善: 點擊編輯器外的頁面其它部位時關(guān)閉菜單。
* 改善: 移除編輯器時將編輯器內(nèi)容設(shè)置到原來的textarea。
* 改善: 從外部粘貼內(nèi)容時自動將font轉(zhuǎn)換成span標簽。
* 改善: ASP.NET程序改成ashx,使用時不需要編譯。
* BUG: 改善了文章內(nèi)容比較多時速度比較慢的問題。
* BUG: 修改了在IE上選中圖片或表格后無法用backspace鍵刪除的問題。
* BUG: 修改了在Firefox上全屏后瀏覽器一直處于加載狀態(tài)的問題。
* BUG: 修改了在非IE上DOMContentLoaded事件不起作用的問題。
* BUG: 修改了刪除編輯器時沒有銷毀事件的問題。
* BUG: 修改了設(shè)置成無顏色時其它樣式也被刪除的問題。
* BUG: 修改了拖動時拖到瀏覽器外面放開鼠標后會粘住的問題。
* BUG: 修改了在Firefox上pre標簽自動生成br標簽的問題。
* BUG: 修改了在IE6上用KE.cmd.wrap方法設(shè)置class屬性后沒有效果的問題。
* BUG: 修改了在P標簽內(nèi)沒選中內(nèi)容時無法插入超級鏈接的問題。
* BUG: 修改了使用快捷鍵加粗體、斜體、下劃線時沒有同步的問題。
演示:
--------
http://www.kindsoft.net/demo.php
下載:
--------
http://www.kindsoft.net/down.php
replace 方法,該方法通過指定URL替換當前緩存在歷史里(客戶端)的項目,因此當使用replace方法之后,你不能通過“前進”和“后退”來訪問已經(jīng)被替換的URL。
語法: location.replace(URL)
參數(shù): URL
在實際應(yīng)用的時候,重新刷新頁面的時候,我們通常使用: location.reload() 或者是 history.go(0) 來做。因為這種做法就像是客戶端點F5刷新頁面,所以頁面的method="post"的時候,會出現(xiàn)“網(wǎng)頁過期”的提示。那是因為Session的安全保護機制。可以想到: 當調(diào)用 location.reload() 方法的時候, aspx頁面此時在服務(wù)端內(nèi)存里已經(jīng)存在, 因此必定是 IsPostback 的。如果有這種應(yīng)用: 我們需要重新加載該頁面,也就是說我們期望頁面能夠在服務(wù)端重新被創(chuàng)建, 我們期望是 Not IsPostback 的。這里,location.replace() 就可以完成此任務(wù)。被replace的頁面每次都在服務(wù)端重新生成。你可以這么寫: location.replace(location.href)
Windows 腳本文件 (*.wsf) 是含有可擴展標記語言 (XML) 代碼的文本文檔。它綜合了幾個可增強腳本靈活性的功能。由于 Windows 腳本文件不是特定于引擎的,因此它們可包含與 Windows 腳本兼容的任何腳本引擎中的腳本。它們充當容器。
使用 .wsf 文件,可以在創(chuàng)建腳本時使用以下功能:
.wsf 文件支持 | 實現(xiàn) |
---|---|
Include 語句 | 將函數(shù)從 VBScript 或 JScript 文件合并到 Windows 腳本宿主項目中。 |
多引擎 | 每個文件使用多種腳本語言。 |
類型庫 | 將常數(shù)添加到代碼中。 |
工具 | 使用任何 XML 編輯器編輯文件。 |
一個文件中的多項作業(yè) | 將所有的代碼存儲在一個位置。 |