我正在网页上显示一个下拉菜单,但是当使用字符○作为选项时,该下拉菜单会显示一个问号
我从SQL Server数据库中获得下拉选项,其中保存该值的列为nvarchar类型 然后,我创建一个带有值的XML输出字符串,以将其作为AJAX调用的响应发送给
当我执行xmlWriter.toString()时,作为xmlWriter的StringWriter对象,我能够使用Eclipse的调试模式看到○字符,但是该字符串需要作为ByteArrayOutputStream对象发送,以将其添加到响应流中。响应以查看客户端上的XML文件,但是当执行xmlWriter.toString()。getBytes()时,○字符会变成问号
我尝试使用xmlWriter.toString()。getBytes(“ UTF-8”),但结果是一些奇怪的符号
我想念什么?
答案 0 :(得分:0)
通过猜测可能是什么问题,感觉好像您没有在浏览器的响应对象中指定编码,并且无法猜测正确的编码。考虑像您一样调用getBytes("UTF-8")
(更好的方法是getBytes(StandardCharsets.UTF_8)
),并在您可能使用HTTP时在HTTP标头(Content-Type: application/xml; charset=utf-8
)中提交编码信息以及响应,或者XML标头(<?xml version="1.0" encoding="utf-8"?>
)。也许两者都可以,因为这将为您提供最佳的兼容性。