我有一个sql server数据库,其中的字段具有以下编码: SQL_Latin1_General_CP1_CI_AS 在我的休息服务中 í 显示为 ? 为了解决这个问题,我使用了以下代码:
SQL_Latin1_General_CP1_CI_AS
í
?
byte array[] = jReqNomeConvencao.getBytes("Windows-1252"); String novaString = new String(array, "UTF-8");
但不幸的是,它没有起作用
byqmnocz1#
字符串构造函数的第二个参数定义字节数组的编码。因此,在第二条语句中也必须使用相同的字符集名称。虽然windows-1252基于拉丁语1,但它不是同一个字符集。对于您的转换,它实际上应该没有任何区别,但是我建议使用ISO8859Ͷ1,而不是代表拉丁语1:
byte array[] = jReqNomeConvencao.getBytes(StandardCharsets.ISO_8859_1); String novaString = new String(array, StandardCharsets.ISO_8859_1);
1条答案
按热度按时间byqmnocz1#
字符串构造函数的第二个参数定义字节数组的编码。因此,在第二条语句中也必须使用相同的字符集名称。虽然windows-1252基于拉丁语1,但它不是同一个字符集。对于您的转换,它实际上应该没有任何区别,但是我建议使用ISO8859Ͷ1,而不是代表拉丁语1: