我终于给我写了一个小app。它是桌面应用程序,但它有嵌入式Web服务器。当我从NetBeans中推出它时,一切都还可以。当我吃午餐时,我在GUI中有正确的字符编码,但是Web服务器输出已损坏(“?”而不是国家字符。)
我使用NetBeans 6.7.1,jdk1.6.0_16,来自Java 6 SE和lib Rome 1.0的http服务器
我没有在这里放任何源代码,因为我不知道我应该放置什么。
//编辑: 数据在字符串中是硬编码的。这些字符串作为创建RSS节点的参数传递给罗马,将罗马的RSS源写入String,然后将字符串传递给HttpHandler。
答案 0 :(得分:3)
String -> byte[]
或byte[] -> String
的任何位置)。将字节转换为字符串的任何操作都在执行编码操作myEncoding -> UTF-16
。<?xml version="1.0" encoding="UTF-8"?>
)。Content-Type: text/html; charset=utf-8
)。字符集通常仅在提供文本MIME类型时才适用(例如,它不适用于application/rss+xml
)。检查您的MIME文档。答案 1 :(得分:2)
此问题可能与NetBeans无关。通常字符编码问题是由于不定义了某处的字符编码,在这种情况下,实际的字符编码几乎可以通过运气来确定。
例如,Java Strings
在内部是UTF-16,但Java Readers
使用的编码由平台默认确定,除非明确指定。