我正在寻求帮助,将堆叠中的所有图层都转换为UTF-8编码.
我找到了这篇好文章:
http://www.javapractices.com/topic/TopicAction.do?Id=206
描述我需要担心编码的3个地方.由于我的(1)Oracle数据库当前设置为UTF-8,因此需要担心(2)浏览器和(3)服务器.
我也发现了这篇详细的文章
http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html#JSPServletRequest
我正在尝试遵循以下内容,但有一些关于实现的新手问题.
为了解决浏览器问题,我确保在每个JSP页面的顶部包含以下内容:
<%@page pageEncoding="UTF-8"%>
Run Code Online (Sandbox Code Playgroud)
(供参考,见这里).
为了解决服务器问题,我确保在发出request.getParameter()或request.getAttribute()声明之前在Java servlet和JSP页面中包含以下行:
request.setCharacterEncoding("UTF-8");
Run Code Online (Sandbox Code Playgroud)
由于我使用的是GlassFish 3.1.2,我知道它默认不使用UTF-8,所以我需要以某种方式手动设置它.
我见过很多网站都在谈论一个名为的文件glassfish-web.xml.这是普通glassfish的一部分吗?我不知道在哪里找到它.我一直在使用web.xml我的WEB-INF文件夹中的文件作为我的Web应用程序.有人可以帮我弄清楚我是否需要修改这个web.xml文件,或者我是否需要找到或创建一个名为的新文件glassfish-web.xml来配置glassfish的编码?
我的web.xml文件以:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
...
Run Code Online (Sandbox Code Playgroud)
对于JSP/servlet请求,我在web.xml文件中包含以下行
<parameter-encoding default-charset="UTF-8"/>
Run Code Online (Sandbox Code Playgroud)
可以放入web.xml文件吗?或者,是否需要进入某个glassfish-web.xml文件?
对于JSP/servlet响应,我将以下内容放入我的web.xml文件中(请参阅此处接受的答案):
Run Code Online (Sandbox Code Playgroud)<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config>
我假设这些线只插入<web-app>和之间</web-app>.但是,让我知道他们是否应该进入其他描述符(例如<glassfish-web-app>和</glassfish-web-app> …
在 javax.ws.rs.core.Response.ResponseBuilder 中,当我使用波兰语(德语、法语等)国家字符设置文件名时,它会在将响应发送到客户端之前更改文件名:
\n\nResponseBuilder response = Response.ok(file);\nresponse.header("Content-Disposition", "attachment; filename=\xc5\xbc\xc3\xb3\xc5\x82ty.txt");\nRun Code Online (Sandbox Code Playgroud)\n\n此后,文件将被下载为“-\xc3\xb3Bty.txt”。如何解决这个问题?
\n\n编辑:\n整个应用程序可以使用 UTF-8 正常工作(例如,json 内容包含波兰语字符)。只有 http headers 没有。
\n我需要在脚本标记的末尾添加charset ="utf-8"以完成对另一种语言的翻译.
我不知道我应该在哪里添加标签.遵循任何规则.请告诉我在哪里添加字符集.我是否需要在"ApplicationLoader.js"的末尾添加或仅在jquery插件之后添加.有任何建议请.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My Web App</title>
<link href="css/jquery/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js" charset="utf-8"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js" charset="utf-8"></script>
<script type="text/javascript" src="js/jquery.depends.js" charset="utf-8"></script>
<script type="text/javascript" src="myemployeelist.js" ></script>
Run Code Online (Sandbox Code Playgroud)
更新:
我会让你更容易理解我的情况细节,而不是一个更新的东西我现在正在训练的新手.据我所知,我会向你解释我的问题.
我能够在mysql中输入英文值,我能够检索它,但是当我输入阿拉伯语值时,它不会被保存.JDBC错误是
java.sql.SQLException: Incorrect string value: '\xD8\xB3\xD9\x84\xD8\xA8...'
Run Code Online (Sandbox Code Playgroud)
我不知道如何配置我的服务器Jetty 6 LANG变量utf-8.有任何建议请.谢谢.
我正在向 Glassfish 4.1 服务器上的 Servlet 发送一个 Serializable 对象,该对象具有带有阿拉伯字符的字符串字段,当我尝试记录我得到的阿拉伯值时 (?????)
我已经阅读了This和This以及许多其他帖子,但没有解决问题,我已经在 Tomcat 8 Server 上尝试了相同的代码,并且工作正常
我应该如何使用 Glassfish 服务器或我的 Servlet 来正确读取 UTF-8 字符?
url = new URL(ServerInfo.STORABLE_RECEIVER_URL);
http = (HttpURLConnection) url.openConnection();
http.setRequestProperty("content-type", "application/x-object; charset=utf-8");
http.setRequestProperty("Accept-Charset", "UTF-8");
http.setDoOutput(true);
http.setDoInput(true);
out = new ObjectOutputStream(http.getOutputStream());
out.writeObject(t);
Run Code Online (Sandbox Code Playgroud)
<filter>
<filter-name>Set Response Character Encoding</filter-name>
<filter-class>net.abdullahcodes.serv.MyFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Response Character Encoding</filter-name>
<url-pattern>/TradableReceiver</url-pattern>
<url-pattern>/*</url-pattern>
<url-pattern>/</url-pattern>
</filter-mapping>
<locale-encoding-mapping-list>
<locale-encoding-mapping>
<locale>ar</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
<locale-encoding-mapping>
<locale>en</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list> …Run Code Online (Sandbox Code Playgroud) java ×3
glassfish ×2
servlets ×2
html ×1
jakarta-ee ×1
javascript ×1
jersey ×1
mysql ×1
utf-8 ×1