Я застрял на этом. я не гава или ява-гуру, поэтому, пожалуйста, дайте подробные ответы:)
У меня есть веб-сервис, который вставляет что-то в БД. веб-сервис размещен на оси. БД оракул со следующими свойствами:
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET ZHS16GBK
веб-сервис размещен на windows server 2008, английская версия, но я изменил язык системы на китайский
теперь данные после вставки имеют проблему с кодировкой и показывают странные символы, такие как ????, exxk ??
Файл jws имеет кодировку GBK. и данные, которые вставляются в БД, жестко запрограммированы в файле [мы не читаем их из ЗАПРОСА]
[править]
только одно, невозможно изменить всю БД на utf-8, так как в ней много таблиц и данных
[далее редактировать], чтобы прояснить ситуацию
машина принимает данные из двух источников. в основном он используется для отправки и получения смс / ммс нашим подписанным пользователям. прежде всего, он работает с центром управления оператором GSM, где все кодировки обрабатываются в GBK. С другой стороны, машина также принимает запросы от веб-сайта для отправки смс / ммс пользователям. Здесь кодирование обрабатывается в UTF-8. Если веб-сайт хочет отправить смс пользователю, на этом компьютере он вызовет веб-сервис, который вставит данные в базу данных [наша проблема здесь]. затем служба Windows непрерывно проверяет базу данных и, если она находит какой-либо новый запрос на отправку смс / ммс, отправляет смс / ммс и удаляет запись.
на старой машине все работало нормально, так как на нем была китайская версия Windows 2003. Мы обновили ее до нового сервера и установили на нем английскую версию Windows 2008 Server. и теперь данные искажаются после вставки веб-сервиса в БД.