Tag: utf 8

Java子串打破编码

我用UTF-8编码从流中读取了一些数据 String line = new String(byteArray, “UTF-8”); 然后试着找一些子序列 int startPos = line.indexOf(tag) + tag.length(); int endPos = line.indexOf(“/”, startPos); 并削减它 String name = line.substring(startPos, endPos); 在大多数情况下,它工作正常,但有时结果被打破。 例如,对于像”гордунни”这样的输入名称,我得到的值如”горд нни” , “горду ни” , “г рдунни”等。似乎代理对由于某种原因而被随机破坏。 我从1000中得到了4次。 怎么解决? 我是否需要使用其他String方法而不是indexOf()+ substring()或在我的结果上使用一些编码/解码魔术?

JSP / GlassFish:如何正确设置UTF-8编码

我正在寻求帮助,以便将堆叠中的所有图层转换为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页面的顶部包含以下内容: (供参考,见此处 )。 为了解决服务器问题,我确保在发出request.getParameter()或request.getAttribute()语句之前在Java servlet和JSP页面中包含以下行: request.setCharacterEncoding(“UTF-8”); 由于我使用的是GlassFish 3.1.2,我知道它默认不使用UTF-8,因此我需要以某种方式手动设置它。 我见过很多网站都在谈论一个名为glassfish-web.xml的文件。 这是普通glassfish的一部分吗? 我不知道在哪里找到它。 我一直在WEB-INF文件夹中使用web.xml文件作为我的Web应用程序。 有人可以帮我弄清楚我是否需​​要修改这个web.xml文件,或者我是否需要找到或创建一个名为glassfish-web.xml的新文件来配置glassfish的编码? 我的web.xml文件以: … 对于JSP / servlet请求,我在web.xml文件中包含以下行 可以放入web.xml文件吗? 或者,它是否需要进入一些glassfish-web.xml文件? 对于JSP / servlet响应,我将以下内容放在我的web.xml文件中(请参阅此处接受的答案): *.jsp UTF-8 我假设这些行只是在和之间插入。 但是,让我知道他们是否应该进入其他描述符(例如和 )? 我还在JSP 部分中添加了以下内容: 有用的参考: 如何摆脱警告:PWC4011:无法将请求字符编码设置为UTF-8 https://stackoverflow.com/tags/servlet-filters/info https://wikis.oracle.com/display/GlassFish/FaqHttpRequestParameterEncoding

将byte 编码为String

Heyho, 我想将字节数据(可以是任何东西)转换为String。 我的问题是,用UTF-8编码字节数据是否“安全”,例如: String s1 = new String(data, “UTF-8”); 或者使用base64: String s2 = Base64.encodeToString(data, false); //migbase64 我只是担心使用第一种方法会产生负面影响。 我的意思是两个变体都可以工作,但是s1可以包含UTF-8字符集的任何字符, s2只使用“可读”字符。 我只是不确定它是否真的需要使用base64。 基本上我只需要创建一个String,通过网络发送它并再次接收它。 (在我的情况下没有别的办法:/) 问题只是关于消极的副作用 ,而不是如果可能的话!

如何将JSF消息编码设置为UTF-8?

我有一些用户输入validation的代码 它工作正常,但如果用户输入无效,我需要显示一些UTF-8消息, 我怎样才能做到这一点?

JSP给页面带有俄文文本的问号

我正在实现JSP页面,从数据库中我得到一些列表并使用jquery-ui autocompletecombobox在JSP中显示它: Select MKB from list: 问题是当在浏览器中加载页面时,combobox中的值都是问号(预期的俄语字符)。 在同一个jsp文件中,我包含header.jsp,其中有以下行: 所以编码应该没问题。 源文件的编码也是UTF-8在jsp文件中还有一行: 我正在使用tomcat8和Java 7.我还尝试了另外一件事:将-Dfile.encoding = UTF-8添加到tomcat的启动参数中。 Servlet本身正在执行以下操作: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { MkbDAO mkbDAO = new MkbDAO(); List mkbList = mkbDAO.getMKBList(); request.setAttribute(“mkbList”, mkbList); RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher(“/WEB-INF/jsp/diagList.jsp”); rd.include(request, response); } 我正在调试该servlet代码,并在调试器监视窗口中查看值,并且列表的值以正确的俄语字符显示。 你能帮忙解决这个问题吗?

UTF-8中的JAVA Http POST请求

我的J2EE应用程序能够从JSP页面接收POST请求,没问题。 但是如果我使用另一个java应用程序发送POST请求,则收到的参数不是UTF-8字符串。 这里有我的代码: URL url = new URL(“http://localhost:8080/ITUNLPWebInterface/SimpleApi”); HttpURLConnection cox = (HttpURLConnection) url.openConnection(); cox.setDoInput(true); cox.setDoOutput(true); cox.setRequestMethod(“POST”); cox.setRequestProperty(“Accept-Charset”, “UTF-8”); cox.setRequestProperty(“Content-Type”, “application/x-www-form-urlencoded”); cox.setRequestProperty(“charset”, “UTF-8”); DataOutputStream dos = new DataOutputStream(cox.getOutputStream()); String query = “tool=ner&input=şaşaşa”; dos.writeBytes(query); dos.close(); 难道我做错了什么? 感谢您的回复

如何将Google App Engine的Java Content-Type设置为UTF-8

似乎我无法在响应头中发送UTF-8编码。 我试过用这个无济于事: resp.setHeader(“Content-Encoding”, “utf-8”); 有谁知道这个bug什么时候修复或有解决方法 ? 参考文献: http://groups.google.com/group/google-appengine/browse_thread/thread/68a480cb7bec869e http://www.ozelwebtasarim.com/index.php/google/10004-google-app-engine-java-utf-8-character-encoding-problem

当从Java Applet传递到Java Script时,为什么我的Unicode String会被破坏?

我很新,所以不要太苛刻:) 问(TL; DR) 我遇到一个问题,将unicode String从网页中的嵌入式javax.swing.JApplet传递到Java Script部分。 我不确定这是对相关技术的错误还是误解: 问题 我想将一个unicode字符串从Java Applet传递给Java Script,但是String搞砸了。 奇怪的是,问题不会发生在Internet Explorer 10中,而是发生在Chrome(v26)和Firefox(v20)中 。 我没有测试过其他浏览器。 返回的String似乎没问题,除了最后一个unicode字符。 Java Script Debugger和Web Page中的结果将是: abc→abc 表示→表 ま→ま ウォッチリスト→ウォッチリス アップロード→アップロー ホ→ ホ→ホ(不确定) アップロードabc→アップロードabc 该字符串似乎在最后的字节中被破坏。 如果它以ASCII字符结尾,那么字符串就可以了。 此外,问题不是在每个组合中发生,也不是每次都发生(不确定)。 因此我怀疑是一个错误,我担心我可能会发布一个无效的问题。 测试设置 简约设置包括一个返回一些unicode(UTF-8)字符串的applet: /* TestApplet.java */ import javax.swing.*; public class TestApplet extends JApplet { private String[] testStrings = { “abc”, // OK (because […]

尽管被设置为UTF-8,但Maven编译期间的“非法字符:\ 65279”

我正在尝试使用保存为UTF-8且具有BOM的文件编译Maven Java项目,但是尽管我同时拥有project.build.sourceEncoding以及encoding ,但我从BOM字符中得到了非法字符错误。 maven-compiler-plugin设置为UTF-8 。 我错过了额外的设置吗? 我是否可以在不删除BOM的情况下进行编译(不允许对源进行任何更改,但我可以修改POM)? 错误: java:C:\ code \ main \ src \ test \ java \ net \ initech \ finance \ FinanceTest.java:1:非法字符:\ 65279 财产: … UTF-8 … 插件: maven-compiler-plugin 3.1 UTF-8

Google Maps Query返回的JSON包含\ x26等编码字符(如何解码?)

在Java应用程序中,我从J27(来自谷歌地图)获得了像\x26这样的字符,我想将其转换为原始字符& 。 据我所知,这是一个UTF-8表示法,但我不完全确定。 在源JSON中可以出现各种编码字符(例如\x3c/div\x3e )。 我怎么解码他们? 我试过了: String json = “\\x3c/div\\x3e”; byte [] b = json.getBytes(“UTF-8″); json = new String(b,”UTF-8”); 没运气。 有任何想法吗?