私は最近プロジェクトに取り組んでいます。一般に、このプロジェクトはデータベースに対処し、データを取り出して、HTTPプロトコルを介してインターフェイスに送信することです。私は特定の機能については話しません、私はここで1つのポイントについて話します - エンコードの問題
このプロジェクトでは、すべてのデータのMD5値を取得することが含まれます。
Java Projectsでは、プロジェクトのデフォルトエンコードをUTF-8に変更するのが好きです。使用される開発ツールは主に日食です。しかし、奇妙な問題が発生します。 IDEでプロジェクトをデバッグしたとき、問題はありませんでしたが、JARパッケージに入力された後、合格しました
Java -jar project.jar
実行するとき、データが送信されるたびに、インターフェイスはデータを返し、私の署名が正しくないと言います。言い換えれば、それは私の最後のステップであり、MD5操作を行うときに何かがうまくいかなかった。
瓶パッケージを手に入れた後、なぜできないのですか?いくつかのひねりとターンの後、パラメーターのハッシュコードをチェックし、提出されたすべてのコンテンツの16進数データを確認しました。テキストエンコードに問題があることがわかりました。 Eclipseでは正しいですが、JARパッケージを入力した後、コマンドラインはデフォルトの文字列エンコードを設定せずに起動するため、Java仮想マシンはシステムのデフォルトエンコードに従って実行されます。私はWindows環境を使用しているので、当然GBKエンコードです。
後で、情報を調べることにより、ソリューションはパラメーターを追加してエンコードを指定することでした。
Java -dfile.encoding = utf -8 -jar project.jar
それだけです。ツールは正常に実行されています。
読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!