# DrHider — Cyrillic filenames in ZIP fix (2026-07-07) ## Проблема Кириллические имена файлов в выходном ZIP отображаются кракозябрами (CP437 вместо UTF-8). Содержимое файлов — OK. ## Причина `zipfile.ZipFile` в режиме записи кодирует имена в CP437. Python 3.12 `metadata_encoding='utf-8'` работает **только на чтение**, при записи → `ValueError`. ## Решение Использовать `ZipInfo` с флагом UTF-8 (бит 11 = 0x800): ```python # Было: zf.writestr(fname, content) # Стало: info = zipfile.ZipInfo(fname) info.flag_bits |= 0x800 zf.writestr(info, content) ``` ## Затронутые файлы - ВМ: `/home/naeel/contracts/drhider/drhider.py` → `_build_zip` - `contracts-flask/deploy/drhider/drhider.py` - `contracts-flask/site/services/drhider.py`