Есть ли в вашем коде что-то урезанное, которое преобразует весь этот HTML в файл MS Word?
Потому что ... э-э ... вы знаете, что сохранение файла HTML с расширением .doc
на самом деле не делает его файлом Word, верно?
Если у вас есть HTML, просто используйте его как HTML, и пользователь сможет позаботиться о сохранении изображений с помощью собственной функции браузера «Сохранить веб-страницу с изображениями». Или вы можете написать файл MHTML, если хотите, включая изображения внутри него.
Но расширение HTML-file-hiding-under-DOC-file-extension на самом деле не является допустимым. Это то, на что не стоит полагаться, если Word вообще сможет загрузить / импортировать объект; просить, чтобы он также перетаскивал изображения, просить луну на палочке.
Да, meta
- это единственный способ установить кодировку, когда вы предоставляете файл HTML, который, как вы ожидаете, будут сохранять люди. Заголовок Content-Type
обычно является хорошим местом для его размещения, но эта информация будет потеряна, как только файл будет сохранен в файловой системе, которая не поддерживает сохранение метаданных типа (который в настоящее время является всеми популярными файловыми системами) .
Кстати, символы не ASCII, такие как é
, совершенно ненадежны для включения в параметр заголовка filename
. Они рассматриваются как разные кодировки в зависимости от браузера (и для IE, также от локали), и стандартного способа их избежать не существует. Единственный надежный способ поместить не-ASCII-символы в имя файла загружаемого файла - это оставить их в виде конечных частей URL, закодированных как UTF-8. eg.:
http://www.example.com/download.php/Contrat%20d%27%C3%A9tude.doc