北纬30°这款天然泉水取自于地理位置北纬30°安徽石台县仙寓山牯牛降林区
这段话用ajax提交时,发现°后面的中文在后台转码后是乱码,去掉°符号中英文一切正常。
经过网络学习,修改ajax提交,改为转码后提交,如下:
var params = getFormData($(this));
var content=encodeURIComponent(params.content);
var summary=encodeURI(params.summary);
params=($.extend(params,{content:content,summary:summary}));
var page = $("[name=page]").val();
var pagesize = $("[name=pagesize]").val();
$.ajax({
data:params,
type: 'post',
dataType: 'json',
success: function (data) {
switch (data.stat) {
case "confirm":
if (confirm(data.info)) {
$.send("?article", $.extend({ page: page, pagesize: pagesize }, sokey));
} else {
$.send("?article_add", $.extend({ page: page, pagesize: pagesize }, sokey));
}
break;
case "alert":
alert(data.info);
break;
default:
alert("unknown error!");
}
}
});
此代码来自Hondy.Site.Login.Js.Article.js
后台:HCMS却使用找不到适合的方法来获取°,经过网络学习,发现很多decode并不支持utf-8,找了三天,也没有发现适合的,解决了°后乱码,°不能正确显示,解决了°,却发现在回车换行时多了0A0D字符,甚是苦恼。
经过耐心查询,通过国外搜索引擎发现解决方案:Decoding URL encoded UTF-8 strings in VBScript (newbedev.com)
三天没有解决的问题,迎刃而解,最重要的是代码简短高效,还是国外的香啊,百度越来越让程序员失望了。
URLDECODE已经成功应用在HCMS.Coding.URLDeCode方法中。
|