Tag: utf 8

使用Oracle数据库中的Java-JDBC读取数据时的字符编码

我们有数据存储在oracle 10g db中,其中包含法语字符集。 要求是使用Java读取数据并生成输出文件。 我通过SQL * plus检查了Oracle数据库中数据的有效性,看起来很不错。 来自windows: set NLS_LANG=AMERICAN.AL32UTF8 sqlplus scott/tiger sql> select billing_address from MYTABLE t where ADDRESS_ID=1 ; billing_address ———————– MONTRÉAL QUÉ 现在,当我从Java读取表格以生成输出文件时,该字符都是乱码,我看到问号代替É。 当我尝试使用Java读取/写入数据时,是否需要设置任何特殊编码。 我使用ojdbc14.jar并将编码设置为UTF-8。 更新 :这是我的java代码片段。 Charset cs1 = Charset.forName(“UTF-8”); PreparedStatement pStmt = conn.prepareStatement(“select * from talbe where address_id=1”); ResultSet rs = pStmt.executeQuery(); Writer w = null; FileOutputStream fos = null; […]

ED A0 80 ED B0 80是一个有效的UTF-8字节序列吗?

java.nio.charset.Charset.forName(“utf8”)。decode解码一个字节序列 ED A0 80 ED B0 80 进入Unicode代码点: U+10000 java.nio.charset.Charset.forName(“utf8”)。decode也解码一个字节序列 F0 90 80 80 进入Unicode代码点: U+10000 这由以下代码validation。 现在这似乎告诉我UTF-8编码方案将ED A0 80 ED B0 80和F0 90 80 80解码为相同的unicode代码点。 但是,如果我访问https://www.google.com/search?query=%ED%A0%80%ED%B0%80 , 我可以看到它明显不同于页面https://www.google.com/search?query=%F0%90%80%80 由于谷歌搜索使用的是UTF-8编码方案(如果我错了,请纠正我), 这表明UTF-8不能将ED A0 80 ED B0 80和F0 90 80 80解码为相同的unicode码点。 所以基本上我想知道,按官方标准,UTF-8应该将ED A0 80 ED B0 80字节序列解码为Unicode代码点U + 10000吗? 代码 : public class Test { public static […]

如何将log4j日志文件更改为utf8

我已经交了一个使用log4j作为记录器应用程序的代码。 如何为它生成UTF8日志文件? log4j创建的日志文件目前是ASCII格式。 我试过以下 按照说明设置日志文件的文件编码 vi current :set bomb :set fileencoding=utf-8 :wq 事实上,在执行上述操作后,日志文件本身就会停止工作,即由于某些奇怪的原因,不会再将日志写入文件 我也尝试过更改.properties文件 log4j.rootLogger=TRACE, logfile log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.encoding=UTF-8 log4j.appender.logfile.File=/usr/vm/log/webconsole/current log4j.appender.logfile.Append=true log4j.appender.logfile.MaxFileSize=5MB log4j.appender.logfile.MaxBackupIndex=1 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=[%5p] %d{ISO8601} (%F:%M:%L)%n%m%n%n log4j.logger.com.company.npm=ALL log4j.logger.org.apache.axis=OFF 由于某种原因,翻转后的日志文件是ASCII格式 我正在使用log4j 1.2.8 当我启用log4j调试时,我得到以下输出 @4000000053b16b142afa961c log4j: Parsing for [root] with value=[TRACE, logfile, cdr]. @4000000053b16b142afc630c log4j: Level token is [TRACE]. @4000000053b16b142afe85ec log4j: Category root set to DEBUG @4000000053b16b142aff510c […]

(Spring + JSP + jQuery-AJAX + JSON)设置UTF-8问题的环境?

我正在使用Spring 3.x在java进行chat project ,需要Multi-language support 。 这就是我所做的。 我的JSP有: 我的web.xml有: characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true characterEncodingFilter /* 在我的Tomcat server.xml有: 我的Java environment有: JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8 在我的Spring-controller有: @RequestMapping(value=”sendMessage.html”,method=RequestMethod.POST) public @ResponseBody String sendMessage(HttpSession session,@RequestParam String intxnId,@RequestParam String message, HttpServletRequest request,HttpServletResponse response){ String contentType= “text/html;charset=UTF-8”; response.setContentType(contentType); //response.setCharacterEncoding(“UTF-8”); response.setHeader(“Content-Type”, “application/json; charset=UTF-8”); try { request.setCharacterEncoding(“utf-8”); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } […]

为FileWriter设置编码为UTF-8

下面是我的代码,它打算带两个.ckl文件,比较两个,添加新项目并创建一个新的合并文件。 程序在Netbeans中运行时正确执行,但是,当执行.jar时,程序似乎没有以UTF-8编码文件。 我对编程很陌生,想知道我可能需要在哪里或如何强制执行此编码? **我已经删除了Swing代码和其他行,因此只显示了我的方法,即执行所有比较和合并的方法。 public void mergeFiles(File[] files, File mergedFile) { ArrayList list = new ArrayList(); FileWriter fstream = null; BufferedWriter out = null; try { fstream = new FileWriter(mergedFile, false); out = new BufferedWriter(fstream); } catch (IOException e1) { e1.printStackTrace(); } // Going in a different direction. We are using a couple booleans to […]

将ObjectNode写入JSON字符串,使用UTF-8字符转换为ASCII

我想把Jackson的ObjectNode的内容写成一个字符串,其中UTF-8字符写成ASCII(Unicode转义)。 这是一个示例方法: private String writeUnicodeString() { ObjectMapper mapper = new ObjectMapper(); ObjectNode node = mapper.getNodeFactory().objectNode(); node.put(“field1”, “Maël Hörz”); return node.toString(); } 默认情况下,输出: {“field1″:”Maël Hörz”} 我希望它输出的是: {“field1″:”Ma\u00EBl H\u00F6rz”} 我怎么能做到这一点?

如何让XSLT在Java中返回UTF-8

我正在尝试让我的XSL脚本使用UTF-8编码。 像åäö和希腊字符这样的人物就像垃圾一样。 让它工作的唯一方法是将结果写入文件。 如果我将它写入输出流,它只返回垃圾(System.out工作,但这可能是因为它的重定向到文件)。 结果需要从servlet返回,请注意它不是servlet配置问题。 我可以从servlet返回带有希腊字符的硬编码字符串,它工作正常,所以这是转换的问题。 这是我目前的(简化)代码。 protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { try { response.setCharacterEncoding(“UTF-8”); response.setContentType(“text/html; charset=UTF-8”); final TransformerFactory factory = this.getFactory(); final File inFile = new File(“infile.xml”); final File xslFile = new File(“template.xsl”); final File outFile = new File(“outfile.html”); final Templates templates = factory.newTemplates(new StreamSource(xslFile)); final Transformer […]

何时加密需要填充?

我在这里问了一个问题, 为什么AES java解密会返回额外的字符? 关于解密加密数据时获取额外字符的问题。 感谢用户“Ebbe M. Pedersen”的评论,我现在明白问题是在PHP和Android Java代码中都没有使用相同的填充机制。 所以我将Java代码更改为 Java代码 public class encryption { private String iv = “fedcba9876543210”;//Dummy iv (CHANGE IT!) private IvParameterSpec ivspec; private SecretKeySpec keyspec; private Cipher cipher; private String SecretKey = “0123456789abcdef”;//Dummy secretKey (CHANGE IT!) public encryption() { ivspec = new IvParameterSpec(iv.getBytes()); keyspec = new SecretKeySpec(SecretKey.getBytes(), “AES”); try { cipher = […]

关于t.page的Freemarker utf-8编码问题

我在内页有问题。 它只是将页面识别为iso,但我想要utf-8,我将其声明为默认字符集。 我在freemarker配置上尝试了一些修改,但它们没有效果。 为spring-servlet.xml template.html Cemitério – Prefeitura Municipal de Maringá Usuários 的login.html ${erroLogin} Usuário: Senha: 产量

Tomcat的“URIEncoding”,编码filter和request.setCharacterEncoding有什么区别?

可能有很多方法可以解决编码问题: 编码filter,如Spring MVC UTF-8编码 在Tomcat的server.xml中设置URIEncoding = UTF-8,如http://struts.apache.org/release/2.1.x/docs/how-to-support-utf-8-uriencoding-with-tomcat.html 。 request.setCharacterEncoding(utf-8) 今天,我有一个问题,路径参数不能很好地解码 @ResponseBody @RequestMapping(value=”/context/method/{key}”,method=RequestMethod.GET,produces = “application/json;charset=utf-8”) public String method(@PathVariable String key){ logger.info(“key=”+key+”————“); } 我可以看到密钥被解码坏了! 如果我从前端传出一个词”新浪” ,它就会变成”æ°æµª” 。 我编写以下代码来检查服务器是否使用“ISO-8859-1”对其进行解码: public static void main(String args[]) throws UnsupportedEncodingException{ String key=”新浪”; byte[] bytes=key.getBytes(“UTF-8″); String decode=new String(bytes,”ISO-8859-1″); System.out.println(decode); } 它出现了相同的输出”æ°æµª” 。 实际上,路径变量用ISO-8859-1解码。 然后我尝试在我的web.xml添加一个filter来解决这个问题: encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 但是同样的乱码。 […]