ฉันมีที่เก็บ Mercurial ทำงานบน Apache ด้วย mod_wsgi ที่เก็บมีชื่อไฟล์ทั้งหมดเข้ารหัสใน windows-1251 การเข้ารหัสนี้ใช้สำหรับเหตุผลในอดีต: มันถูกแปลงเป็น mercurial จาก svn, windows-1251 เป็นค่าเริ่มต้นการเข้ารหัส windows สำหรับโลแคลรัสเซีย
ตอนนี้โปรแกรมเมอร์ต้องการใช้เครื่องมือCrucibleสำหรับตรวจสอบรหัส มันไม่สามารถขีดเส้นใต้ชื่อไฟล์ในการเข้ารหัสอื่น ๆ นอกเหนือจาก utf-8 ดังนั้นฉันต้องแปลงจาก windows-1251 เป็น utf-8 ไม่มีใครรู้วิธีการทำเช่นนี้? ส่วนขยายการแปลง Mercurial ไม่มีตัวเลือกในการแปลงการเข้ารหัส
hgweb.config:
[web]
#encoding = UTF-8
encoding = windows-1251
#allow_archive = gz, zip, bz2
allow_archive = zip
allow_push = *
push_ssl = false
[extensions]
[collections]
/data/mercurial = /data/mercurial
encoding = windows-1251
เป็นencoding = UTF-8
ชื่อไฟล์ที่ทำไม่สามารถอ่านได้ นี่เป็นเพราะพวกเขาจะถูกเก็บไว้ใน windows-1251 "UTF-8" os.environ ["HGENCODING"] = "UTF-8" เท่ากับการตั้งค่านี้