Tag: 编码

Charset.defaultCharset()在JDK1.7和JDK 1.6下得到不同的结果

我正在测试我的应用程序的i18n兼容性。 我有一个英文版的Windows 7,这意味着系统的显示语言是英语。 我将系统区域设置为非unicode应用程序的中文。 我的应用程序在导出jdk1.6下的中文字符的Html文件时遇到问题,但在jdk1.7下运行时工作正常。 我调试它,发现直接原因是Charset.defaultCharset()返回了不同的值。 在jdk1.7下, Charset.defaultCharset()返回GBK ,这是中文的charset。 在jdk1.6下, Charset.defaultCharset()返回window_1252 ,这是拉丁语的charset。 我知道问题可以通过代码字符集来解决,比如utf-8 。 但我想知道为什么Charset.defaultCharset()在JDK1.7和JDK 1.6下返回不同的值。

JAXB似乎正在重新编码新的行char

我有以下代码…… public static final String NEWLINE = String.format(“%n”); … StringBuilder b = new StringBuilder(); … b.append(NEWLINE); return b.toString(); 然而,当我在SOAPUI中运行它并查看RAW时,看起来它再次扩充它并且新行转为 而不是 1,name,value 2,name,value 它显示为…… 1,name,value 2,name,value 因此,当我使用正则表达式查询解析替换为空字符串时,全文仍然存在 现在我对编码并不熟悉,但这是SOAP消息的有效负载。 信封被剥离,并将其保存为CSV文件。 当我在Notepad ++中打开CSV时,新的行字符似乎可以工作,但该编码值仍然存在。 有谁知道我错过了什么? 我尝试添加一个(sb = Stringbuilder) sb.append(“”); 但这似乎不起作用,再次JAXB似乎逃脱了角色。 <![CDATA[000000,LK20130930120048,Compant,Data,20130930120048,, 000001,user,Fname,Mname,Lname,12345 Address 1,Address 2222,setAddress3,setCity,OH,US,44332,,N,N,E,,,,?,, 999999]]> 我也可以这样做,但我使用JAX-WS的默认marshaller。 所以我不确定在哪里放。

有关URLEncoder和URLDecoder的一些问题?

我已经通过URLEncoder和URLDecoder的javadocs了。 然后变得更加好奇。 将服务器视为tomcat。在任何web应用程序中,每当我们提交表单时,服务器都会将表单字段转换为urlencoded字段,并在我们执行request.getParamter(“fieldName”)时。 服务器再次使用URLDecoder对其进行解码。 那是对的吗? 服务器是做它还是浏览器? 我们在地址栏中键入任何url时会发生相同的事情吗? 如果我们需要在URLEncoder和URLDecoder的帮助下显式编码或解码请求参数,服务器或浏览器会这样做吗? 虽然这些是基本问题,但无法清楚地找到这些答案。

使用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; […]

使用Linux上的Apache Commons Compression压缩文件时编码错误

我正在使用Apache Commons API Compression压缩文件。 Windows 7工作正常,但在Linux(ubuntu 10.10 – UTF8)中,文件名和文件夹名称中的字符(例如“º”)将替换为“?”。 在压缩时,或者在解压缩tar时,我应该将任何参数传递给API吗? 我使用tar.gz格式,遵循API示例。 我正在尝试压缩的文件是在windows中创建的……有什么问题吗? 代码: public class TarGzTest { public static void createTarGzOfDirectory(String directoryPath, String tarGzPath) throws IOException { System.out.println(“Criando tar.gz da pasta ” + directoryPath + ” em ” + tarGzPath); FileOutputStream fOut = null; BufferedOutputStream bOut = null; GzipCompressorOutputStream gzOut = null; TarArchiveOutputStream tOut = […]

servlet是否知道使用http-equiv指定的已发送表单的编码?

servlet是否知道使用http-equiv指定的已发送表单的编码? 当我使用http-equiv指定POSTed表单的编码时: 然后在servlet我使用方法, request.getCharacterEncoding()我得到了null ! 那么,有没有办法可以告诉服务器我在一些字符编码中编码数据?

Java zip字符编码

我正在使用以下方法将文件压缩为zip文件: import java.util.zip.CRC32; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public static void doZip(final File inputfis, final File outputfis) throws IOException { FileInputStream fis = null; FileOutputStream fos = null; final CRC32 crc = new CRC32(); crc.reset(); try { fis = new FileInputStream(inputfis); fos = new FileOutputStream(outputfis); final ZipOutputStream zos = new ZipOutputStream(fos); zos.setLevel(6); final ZipEntry ze = […]

Android PCM到Ulaw编码wav文件

我正在尝试将原始pcm数据编码为uLaw,以节省传输语音数据所需的带宽。 我在这个页面上遇到了一个名为UlawEncoderInputStream的类,但是没有文档! 🙁 构造函数接受输入流和max pcm值(无论是什么)。 /** * Create an InputStream which takes 16 bit pcm data and produces ulaw data. * @param in InputStream containing 16 bit pcm data. * @param max pcm value corresponding to maximum ulaw value. */ public UlawEncoderInputStream(InputStream in, int max) { 查看代码后,我怀疑我应该使用提供的函数计算这个“最大”值: maxAbsPcm 。 问题是,我真的不明白我的意思是什么! 我正在将原始pcm记录到SD卡上的文件中,因此我没有一个连续的内存驻留数据块传递给它。 /** * Compute the […]

用Java改变现有文件的编码?

我需要以编程方式将一组* nix脚本的编码从Java更改为UTF-8。 我不会给他们写任何东西,所以我试图找到最简单,最快捷的方法。 文件不是太多而且不是那么大。 我可以: 使用将UTF-8设置为编码的OutputStream“写”空字符串 由于我已经在使用FileUtils(来自Apache Commons),我可以读取这些文件的内容,并将UTF-8作为编码传递 没什么大不了的,但是之前有没有人碰到这个案子? 两种方法都有任何缺点吗?

为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 […]