Java 如何避免无效字符?JSON

Java 如何避免无效字符?JSON,java,json,rest,encoding,Java,Json,Rest,Encoding,我有一个sql server数据库,其中的字段采用这种编码:sql\u Latin1\u General\u CP1\u CI\u AS 在我的REST服务中,字符í显示为? 为了解决这个问题,我使用了以下代码: 字节数组[]=jReqNomeConvencao.getBytes(“Windows-1252”); 字符串novaString=新字符串(数组,“UTF-8”); 但不幸的是,它没有工作字符串构造函数的第二个参数定义字节数组的编码。因此,在第二条语句中也必须使用相同的字符集名称。虽

我有一个sql server数据库,其中的字段采用这种编码:
sql\u Latin1\u General\u CP1\u CI\u AS

在我的REST服务中,字符
í
显示为

为了解决这个问题,我使用了以下代码:

字节数组[]=jReqNomeConvencao.getBytes(“Windows-1252”);
字符串novaString=新字符串(数组,“UTF-8”);

但不幸的是,它没有工作

字符串构造函数的第二个参数定义字节数组的编码。因此,在第二条语句中也必须使用相同的字符集名称。虽然Windows-1252基于拉丁语1,但它不是相同的字符集。对于您的转换,它实际上应该没有任何区别,但是我建议使用ISO_8859_1,它代表拉丁语1:

byte array[] = jReqNomeConvencao.getBytes(StandardCharsets.ISO_8859_1);
String novaString = new String(array, StandardCharsets.ISO_8859_1);

如果数据库中的字符是
,则原始字符已丢失。您需要修复插入记录的代码。