我的列表网格没有正确显示变音符号时遇到问题,我发现当我从 java 插入数据库时,值已经被窃听了。
此处的帖子有所帮助,我更改了项目属性-> 文本编码-> 其他-> UTF-8,这解决了我的问题。问题是这只在本地解决了我的问题。
我需要做的是在我的 Jboss 服务器上也以某种方式设置编码。我只能访问此面板,因为我无法直接访问配置文件。我可以从这里做吗?
对于这个愚蠢的问题,任何建议都表示赞赏和抱歉,但我尝试了我能想到的一切,但没有成功。谢谢。
这可能会对您有所帮助https://community.jboss.org/message/643825#643825
<system-properties>
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>
可以肯定的是,你有这样的 pageEncoding 吗?
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:loadBundle basename="i18n.messages" var="msg"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
您可以创建一个过滤器来拦截应用程序中的每个请求,因此您可以在此过滤器中设置字符编码。developer.jboss有一个线程。过滤器可以如下:
@WebFilter(filterName = "CharacterEncodingF", urlPatterns = {"/*"})
public class CharacterEncodingF implements Filter {
public CharacterEncodingF() {
}
/**
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param chain The filter chain we are processing
*
* @exception IOException if an input/output error occurs
* @exception ServletException if a servlet error occurs
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
}
}
也许这对某人有用:
Window > Preferences > General > Workspace > Text file encoding