Сопоставление с образцом с китайскими символами (закодировано в UTF-8) в Java - PullRequest
5 голосов
/ 31 августа 2011

Мне нужно проверить, содержится ли провинция Китая в адресе на китайском языке.

Я могу легко читать и писать китайские иероглифы.

Я попытался использовать метод String indexOf (), чтобы проверить, содержится ли провинция (например, 广东) в адресе (中国 广东). Однако это всегда возвращает -1.

Когда я пытаюсь проверить номера (например, содержится ли 103 в 9910399), он работает нормально.

Нужно ли делать что-то другое для обработки совпадения строк UTF-8? Благодарю. Matt

1 Ответ

2 голосов
/ 31 августа 2011

Я только что попробовал ваш пример, и хотя у меня нет китайских шрифтов в моей системе, поэтому символы отображаются некорректно indexOf () работает нормально для меня.

Итак, проверьте кодировку ваших исходных файлов (* .java).Например, если вы используете Eclipse, отметьте его в Window / Preferences / General / Workspace / Text file Encoding.Я использую UTF-8.

Вторая мысль - это кодировка, используемая компилятором Java.В случае затмения вам не нужно ничего говорить.Я думаю, что для javac вы, вероятно, должны явно установить кодировку, используя -encoding.В противном случае, вероятно, будет использоваться кодировка ОС по умолчанию.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...