Недавно я работаю над проектом. В целом, проект состоит в том, чтобы справиться с базой данных, извлечь данные и отправить их в интерфейс через протокол HTTP. Я не буду говорить о конкретных функциях, я просто расскажу об одном пункте здесь - проблема кодирования
В проекте он включает в себя получение значения MD5 всех данных.
В проектах Java я лично люблю изменить кодирование проекта по умолчанию в UTF-8. Используемые инструменты разработки в основном затмение. Однако возникают странные проблемы. Когда я отлаживаю проект в IDE, проблем не было, но после того, как он был введен в пакет JAR, он прошел
Java -Jar Project.jar
При запуске каждый раз, когда отправляются данные, интерфейс возвращает данные и скажет, что моя подпись неверна. Другими словами, это был мой последний шаг, что -то пошло не так при выполнении операций MD5.
Почему я не могу сделать это после того, как я получу пакет JAR? После нескольких поворотов я проверил хэшкод параметров и проверил шестнадцатеричные данные всего представленного содержимого. Я обнаружил, что была проблема с кодированием текста. Это правильно в Eclipse, но после ввода пакета JAR командная строка начинается без установки кодирования строки по умолчанию, поэтому виртуальная машина Java работает в соответствии с кодированием системы по умолчанию. Я использую среду Windows, поэтому, естественно, это кодировка GBK.
Позже, посмотрев информацию, решение было добавить параметр для указания кодирования:
java -dfile.encoding = utf -8 -jar project.jar
Вот и все. Инструмент работает нормально.
Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!