detail
USR369 explicit direction to fix rather than route to Server 40. Backed up original via BACKUP.php first (system=40, per Rule 4). Added optional encoding=base64 param -- skips the iconv UTF-8 stripping that was corrupting binary content, returns base64_encode of raw bytes instead. Default text behavior completely unchanged, verified via regression test (SOP-DAILY-LOG.md, size and content matched exactly). New mode tested against Health-Gym-Log.xlsx -- 9792 bytes decoded exactly, valid ZIP signature, opened cleanly in openpyxl with all 133 rows and real data intact. T759 closed. Notified Server 40 as courtesy (msg, not taking ownership). Also found and filed T762 (BACKUP.php's own output violates SOP-BACKUP.md naming rules) while doing the pre-edit backup.