【发布时间】:2013-08-30 17:12:36
【问题描述】:
我在基于 Web 的应用程序中遇到了一些字符集编码问题。尽管我已经正确配置了页面编码,但特殊字符仍然被截断。
我使用 JQuery Easy UI 插件来完成大部分工作,但问题也出现在简单的 jQuery/Javascript 代码中,例如警报框。
JSP 页面标题:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%> <!-- "ISO-8859-1" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
(...)
jQuery 代码:
$.fn.altStatusTarefa =
function (idStat, idTar){
var motivo =prompt("Informe o motivo da alteração:",
"(Descrição suscinta)");
if (motivo!=null && motivo!="")
{
var result = $.post("TarefaUpdateStatus", {
idTarefa : idTar,
idStatus : idStat,
motivoAlt : motivo
}
);
result.done(function( data ) {
$.messager.show({
title:'Sucesso',
msg:'A alteração foi processada. ' +
'Tecle F5 para atualizar o formulário.',
showType:'show'
});
});
result.fail(function(jqXHR, textStatus) {
$.messager.alert('Erro',
'Houve um problema na atualização: ' +
textStatus,'error');
});
result.always({
});
}
else{
alert("Alteração cancelada.");
}
};
所有这些特殊字符(ã、ç、é 等)在运行时都会被截断。
对可能发生的情况或解决方案有什么想法吗?谢谢!
【问题讨论】:
-
您可能需要确保您的代码编辑器也使用 UTF-8。
-
截断是什么意思?文件是否被错误地提供给浏览器,或者只是错误的警报?能不能用 Chrome 开发工具或者 Firebug 看一下 JS 文件的内容类型是什么?
标签: javascript jquery html jsp jquery-easyui