js中文乱码解决办法:设置charset=utf-8,完成。
①.js 文件中文显示乱码Javascript文件XX.js编辑保存时有一种编码方案(如GBK)当打开文件的时候所用的编码(如UTF-8)和保存时的编码方案不一致时,则会出现中文显示乱码。
解决方案:
(1)用编辑器打开浏览的时候,选择和原文件编码(如GBK)一致的编码方式查看,则不会出现乱码
(2)在eclipse中的package explorer中选中乱码的XX.js,右键菜单中选择properties,在Text file encoding中选择与XX.js编辑保存时的编码(如GBK),则可以正常显示。
②网站页面中JavaScript中中文字段乱码 在eclipse或者编辑器中XX.js中中文显示正常,在页面调用XX.js,执行后页面结果中中文字段显示乱码。
解决方案: 在引用XX.js的页面上“显示”加上XX.js文件的编码方式,使之与XX.js文件的本身的编码方式(如GBK)保持一致。<scripttype="text/javascript" language="JavaScript" src="/js/XX.js" charset=“GBK” </script建议:
1)在用Eclipse或者Myeclipse新建XX.js,进行编辑时,建议先将Textfile encoding改为UTF-8,然后进行编辑保存。
2)用文本文档或者其他编辑器编辑保存XX.js,建议以UTF-8的编码方式保存。
3)在引用XX.js的页面上“显示”加上XX.js文件的编码方式UTF-8。<scripttype="text/javascript" language="JavaScript" src="/js/XX.js".
js中文乱码的解决方法及详细的 *** 作步骤如下:
1、首先,检查编写的程序页面的字符编码是“gb2312”还是“utf-8”,如下图所示。
2、其次,找到js文件,右键单击并选择“打开方式”,然后选择用“记事本”打开,如下图所示。
3、接着,打开后,单击记事本菜单栏中的“文件”选项,并选择“另存为”,如下图所示。
4、最后,在d出的保存窗口底部有一个“编码”的选项,选择编码类型为程序对应的类型并保存以消除乱码问题,如下图所示。 以上就是解决js中文乱码的 *** 作方法。
首先在github上找到中文字典部分:[javascript] view plain copy
moment.defineLocale('zh-cn', {
months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
longDateFormat : {
LT : 'Ah点mm分',
LTS : 'Ah点m分s秒',
L : 'YYYY-MM-DD',
LL : 'YYYY年MMMD日',
LLL : 'YYYY年MMMD日Ah点mm分',
LLLL : 'YYYY年MMMD日ddddAh点mm分',
l : 'YYYY-MM-DD',
ll : 'YYYY年MMMD日',
lll : 'YYYY年MMMD日Ah点mm分',
llll : 'YYYY年MMMD日ddddAh点mm分'
},
meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
meridiemHour: function (hour, meridiem) {
if (hour === 12) {
hour = 0
}
if (meridiem === '凌晨' || meridiem === '早上' ||
meridiem === '上午') {
return hour
} else if (meridiem === '下午' || meridiem === '晚上') {
return hour + 12
} else {
// '中午'
return hour >= 11 ? hour : hour + 12
}
},
meridiem : function (hour, minute, isLower) {
var hm = hour * 100 + minute
if (hm <600) {
return '凌晨'
} else if (hm <900) {
return '早上'
} else if (hm <1130) {
return '上午'
} else if (hm <1230) {
return '中午'
} else if (hm <1800) {
return '下午'
} else {
return '晚上'
}
},
calendar : {
sameDay : function () {
return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT'
},
nextDay : function () {
return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT'
},
lastDay : function () {
return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT'
},
nextWeek : function () {
var startOfWeek, prefix
startOfWeek = moment().startOf('week')
prefix = this.unix() - startOfWeek.unix() >= 7 * 24 * 3600 ? '[下]' : '[本]'
return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm'
},
lastWeek : function () {
var startOfWeek, prefix
startOfWeek = moment().startOf('week')
prefix = this.unix() <startOfWeek.unix() ? '[上]' : '[本]'
return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm'
},
sameElse : 'LL'
},
ordinalParse: /\d{1,2}(日|月|周)/,
ordinal : function (number, period) {
switch (period) {
case 'd':
case 'D':
case 'DDD':
return number + '日'
case 'M':
return number + '月'
case 'w':
case 'W':
return number + '周'
default:
return number
}
},
relativeTime : {
future : '%s内',
past : '%s前',
s : '几秒',
m : '1 分钟',
mm : '%d 分钟',
h : '1 小时',
hh : '%d 小时',
d : '1 天',
dd : '%d 天',
M : '1 个月',
MM : '%d 个月',
y : '1 年',
yy : '%d 年'
},
week : {
// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
dow : 1, // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
})
然后,把这段代码复制到moment.js中,位置在最后一句 “return _moment” 的前面,如下:
[javascript] view plain copy
//中文支持
moment.defineLocale('zh-cn', {
months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
//...略
return _moment
运行,但是不起作用,还是显示英文日期。
再仔细观察代码,moment.js中最后返回的变量叫做 _moment,多了个下划线,于是修改刚才那段代码的开头部分,把moment改为_moment,成功!
[javascript] view plain copy
//中文支持
_moment.defineLocale('zh-cn', {
问题解决!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)