我有以下字符串日期=“13 - فبراير”,
使用以下编码的月份地图:
Map<Integer, String> months = new LinkedHashMap<>();
months.put(1, "يناير");
months.put(2, "Ùبراير");
months.put(3, "مارس");
months.put(4, "ابريل");
months.put(5, "مابو");
months.put(6, "يونيو");
months.put(7, "يوليو");
months.put(8, "اغسطس");
months.put(9, "سبتمبر");
months.put(10, "اكتوبر");
months.put(11, "نوÙمبر");
months.put(12, "ديسمبر");
我想要的是确定输入的月份
for (Map.Entry<Integer, String> entry : months.entrySet()) {
int key = entry.getKey();
String value = months.get(key);
if (input.contains(value)) {
System.out.println("YES");
break;
}
}
但条件永远不会成立,因为编码不同,所以我必须每个月从ANSI转换为UTF-8才能获得正确的月份。
我尝试了以下内容:
byte[] ptext = text.getBytes(Charset.forName("windows-1252"));
String value = new String(ptext, StandardCharsets.UTF_8);
System.out.println(value);
但它不起作用。