ฉันกำลังทำงานในโครงการเมื่อเร็ว ๆ นี้ โดยทั่วไปโครงการคือการจัดการกับฐานข้อมูลและดึงข้อมูลและส่งไปยังอินเทอร์เฟซผ่านโปรโตคอล HTTP ฉันจะไม่พูดถึงฟังก์ชั่นเฉพาะฉันแค่พูดถึงจุดหนึ่งที่นี่ - ปัญหาการเข้ารหัส
ในโครงการมันเกี่ยวข้องกับการได้รับค่า MD5 ของข้อมูลทั้งหมด
ในโครงการ Java ฉันชอบเปลี่ยนการเข้ารหัสเริ่มต้นของโครงการเป็น UTF-8 เครื่องมือการพัฒนาที่ใช้เป็นคราสเป็นหลัก อย่างไรก็ตามปัญหาแปลก ๆ เกิดขึ้น เมื่อฉันดีบักโครงการใน IDE ไม่มีปัญหา แต่หลังจากพิมพ์ลงในแพ็คเกจ Jar มันก็ผ่านไป
Java -jar Project.jar
เมื่อทำงานทุกครั้งที่ส่งข้อมูลอินเทอร์เฟซจะส่งคืนข้อมูลและบอกว่าลายเซ็นของฉันไม่ถูกต้อง กล่าวอีกนัยหนึ่งมันเป็นขั้นตอนสุดท้ายของฉันมีบางอย่างผิดปกติเมื่อทำการปฏิบัติการ MD5
ทำไมฉันไม่สามารถทำได้หลังจากได้รับแพ็คเกจ Jar หลังจากการบิดและเปลี่ยนหลายครั้งฉันตรวจสอบ HashCode ของพารามิเตอร์และตรวจสอบข้อมูลเลขฐานสิบหกของเนื้อหาที่ส่งทั้งหมด ฉันพบว่ามีปัญหากับการเข้ารหัสข้อความ มันถูกต้องใน Eclipse แต่หลังจากพิมพ์แพ็คเกจ JAR บรรทัดคำสั่งเริ่มต้นโดยไม่ต้องตั้งค่าการเข้ารหัสสตริงเริ่มต้นดังนั้นเครื่องเสมือน Java จะทำงานตามการเข้ารหัสเริ่มต้นของระบบ ฉันใช้สภาพแวดล้อม Windows ดังนั้นจึงเป็นการเข้ารหัส GBK โดยธรรมชาติ
ต่อมาโดยการค้นหาข้อมูลโซลูชันคือการเพิ่มพารามิเตอร์เพื่อระบุการเข้ารหัส:
java -dfile.encoding = utf -8 -jar project.jar
นั่นคือทั้งหมด เครื่องมือกำลังทำงานตามปกติ
ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้ ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!