Estou trabalhando em um projeto recentemente. Em geral, o projeto é lidar com o banco de dados e buscar os dados e enviá -los a uma interface através do protocolo HTTP. Não vou falar sobre as funções específicas, eu apenas falo sobre um ponto aqui - o problema de codificação
No projeto, envolve obter o valor do MD5 de todos os dados.
Nos projetos Java, eu pessoalmente gosto de alterar a codificação padrão do projeto para UTF-8. As ferramentas de desenvolvimento utilizadas são principalmente eclipse. No entanto, surgem problemas estranhos. Quando depurar o projeto no IDE, não havia problema, mas depois que ele foi digitado em um pacote de jarra, ele passou
Java -Jar Project.Jar
Ao executar, toda vez que os dados são enviados, a interface retornará os dados e diz que minha assinatura está incorreta. Em outras palavras, foi o meu último passo, algo deu errado ao fazer operações do MD5.
Por que não posso fazer isso depois de receber um pacote de jar? Depois de várias reviravoltas, verifiquei o código de hash dos parâmetros e verifiquei os dados hexadecimais de todos os conteúdos enviados. Descobri que havia um problema com a codificação de texto. Está correto no Eclipse, mas depois de digitar o pacote JAR, a linha de comando inicia sem definir a codificação padrão da string, para que a máquina virtual Java seja executada de acordo com a codificação padrão do sistema. Estou usando um ambiente do Windows, então, naturalmente, é a codificação do GBK.
Mais tarde, ao procurar as informações, a solução foi adicionar um parâmetro para especificar a codificação:
java -dfile.encoding = utf -8 -jar Project.jar
Isso é tudo. A ferramenta está funcionando normalmente.
Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!