Java 如何避免无效字符?JSON
我有一个sql server数据库,其中的字段采用这种编码: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\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);
如果数据库中的字符是
?
,则原始字符已丢失。您需要修复插入记录的代码。