Saya sedang mengerjakan proyek baru -baru ini. Secara umum, proyek ini akan menangani database dan mengambil data dan mengirimkannya ke antarmuka melalui protokol HTTP. Saya tidak akan berbicara tentang fungsi spesifik, saya hanya berbicara tentang satu poin di sini - masalah pengkodean
Dalam proyek, ini melibatkan mendapatkan nilai MD5 dari semua data.
Dalam proyek Java, saya pribadi suka mengubah pengkodean default proyek menjadi UTF-8. Alat pengembangan yang digunakan terutama gerhana. Namun, masalah aneh muncul. Ketika saya men -debug proyek di IDE, tidak ada masalah, tetapi setelah itu diketik ke dalam paket jar, itu berlalu
Java -Jar Project.jar
Saat berjalan, setiap kali data dikirimkan, antarmuka akan mengembalikan data dan mengatakan bahwa tanda tangan saya salah. Dengan kata lain, itu adalah langkah terakhir saya, ada yang salah saat melakukan operasi MD5.
Mengapa saya tidak bisa melakukannya setelah saya mendapatkan paket jar? Setelah beberapa tikungan dan belokan, saya memeriksa kode hash parameter dan memeriksa data heksadesimal dari semua konten yang dikirimkan. Saya menemukan bahwa ada masalah dengan pengkodean teks. Itu benar di Eclipse, tetapi setelah mengetik paket JAR, baris perintah dimulai tanpa mengatur penyandian string default, sehingga mesin virtual Java berjalan sesuai dengan pengkodean default sistem. Saya menggunakan lingkungan Windows, jadi tentu saja ini adalah pengkodean GBK.
Kemudian, dengan mencari informasi, solusinya adalah menambahkan parameter untuk menentukan pengkodean:
java -dfile.encoding = utf -8 -jar Project.jar
Itu saja. Alat ini berjalan secara normal.
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!