Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有非标准UTF-8字符的mongoDB_Java_Jsp_Mongodb_Character Encoding_Websphere - Fatal编程技术网

Java 具有非标准UTF-8字符的mongoDB

Java 具有非标准UTF-8字符的mongoDB,java,jsp,mongodb,character-encoding,websphere,Java,Jsp,Mongodb,Character Encoding,Websphere,我在MongoDB中插入不寻常字符时遇到问题 其特点如下:èèèáa。。。等 基本上,这些字符主要用于拉丁国家 当我通过脚本插入它时(因为如果我在控制台中尝试它,它会回复“非utf-8字符”),它做得很好,它会将它添加到集合中,但会添加一些奇怪的字符 如果我做了一个查找,比如说,用“Olá”,我有一个字段,用“Olá”搜索,但是用那些奇怪的字符,它会很好地回复我想要的字段上的数据。。。 但是,如果该字段中有某种字符不是您的标准英文图表类型,它将显示如下内容: �til? 我有什么办法可以处理这件

我在MongoDB中插入不寻常字符时遇到问题

其特点如下:èèèáa。。。等

基本上,这些字符主要用于拉丁国家

当我通过脚本插入它时(因为如果我在控制台中尝试它,它会回复“非utf-8字符”),它做得很好,它会将它添加到集合中,但会添加一些奇怪的字符

如果我做了一个查找,比如说,用“Olá”,我有一个字段,用“Olá”搜索,但是用那些奇怪的字符,它会很好地回复我想要的字段上的数据。。。 但是,如果该字段中有某种字符不是您的标准英文图表类型,它将显示如下内容:

�til?

我有什么办法可以处理这件事吗

我使用的是Websphere Portal server,PortletView文件以UTF-8格式输出,servlet处理输入的数据,在发送到db进行查询时以UTF-8格式对其进行编码,它还处理从db检索到UTF-8的数据(只是为了确保)


提前感谢。

检查servlet筛选器是否导致请求使用错误的字符编码。这可能是由于在将请求的字符编码设置为
UTF-8
之前,调用
ServletRequest
上的
getParameterXXX()
方法系列之一造成的

声明默认情况下使用ISO8859-1。参见SRV.3.9请求数据编码

还要确保响应使用正确的内容类型(带编码)。如上文评论中所述:

String contentType= "text/html;charset=UTF-8";
response.setContentType(contentType);

检查servlet筛选器是否没有导致请求使用错误的字符编码。这可能是由于在将请求的字符编码设置为
UTF-8
之前调用
ServletRequest
上的
getParameterXXX()
方法家族中的一个方法造成的。我在DB和servlet之间传输字符串时正在进行转换。。。将其从servlet引入portletview时可能会出现问题……因此,在servlet的
doPost()
中,在执行
响应.getWriter()
调用之前,我应该执行以下操作:
String contentType=“text/html;charset=UTF-8”
response.setContentType(contentType)如果你愿意,你可以将此作为答案发布,我会接受它,因为我似乎无法在这么短的时间内发布我自己问题的答案。