为什么javascrip不能正常显示汉字,而页面上却能?例如:
<f:view locale="zh">
....
function postalopen(winName,features) {
......
if(postcode==""){
alert('<h:outputText value="#{msgs.alert}"/>);
return false;
}
..........
}
<body>
<h:outputText value="#{msgs.alert}"/>
</body>
....
</f:view>
<f:view locale="zh">
....
function postalopen(winName,features) {
......
if(postcode==""){
alert('<h:outputText value="#{msgs.alert}"/>);
return false;
}
..........
}
<body>
<h:outputText value="#{msgs.alert}"/>
</body>
....
</f:view>
<%@ page import="java.util.*,com.huadu.dao.*" %><META http-equiv="Content-Type" content="text/html; charset=utf-8">
而在jsp中可以,应该是编码的问题@!
alert('<h:outputText value="#{msgs.alert}"/>);
return false;
}
請調用下面方法轉碼,把'<h:outputText value="#{msgs.alert}"/>)‘傳入//convert utf-8 to big5 or gb2312
function Unicode2Str(str){
var re=/&#[\da-fA-F]{1,5};/ig;
var arr=str.match(re);
if(arr==null)return("");
var size=arr.length;
var arr2=new Array(size);
for(var i=0;i<arr.length;i++){
arr2[i]=String.fromCharCode(arr[i].replace(/[&#;]/g,""));
}
for(var i=0;i<arr.length;i++){
str=str.replace(arr[i],arr2[i]);
}
//return(arr.toString().replace(/,/g,""))
return str;
}