如何在 MikTeX 2.9 下使用 tex4ht 获取 UTF-8 输出?(“非法存储地址”错误)

如何在 MikTeX 2.9 下使用 tex4ht 获取 UTF-8 输出?(“非法存储地址”错误)

编译此 MWE ( mwe.tex)

\documentclass{article}
\usepackage[greek,italian]{babel}
\usepackage[utf8x]{inputenc}
\begin{document}
\latintext chars with àccéènts
greek chars \greektext ασδφγη
\end{document}

使用C:\Program Files (x86)\MiKTeX 2.9\scripts\tex4ht\htlatex.bat mwe.tex(在使用 成功编译后pdflatex)生成的是 ANSI 编码的 HTML 文件,而不是 UTF-8 编码的 HTML 文件。也就是说,mwe.html一旦打开,就会显示

带有 ΰccιθnts 希腊字符 ασδφγη 的字符

并且只有我手动将浏览器编码更改为 ISO-8859-1 才能正确显示字符。

我还尝试了很多选项htlatex(编译输出htlatex mwe "xhtml, charset=utf-8" " -cunihtf -utf8"可用这里),但都没有解决问题,有什么线索吗?

跟进

由于答案中给出的解决方案在 Ubuntu 下与 TeXLive 配合良好,我猜测 Windows 下 MikTeX 的问题是由于 MikTex 造成的。

以下是 michal.h21 请求的测试日志:

>tex4ht -he -cunihtf -utf8 mwe
----------------------------
tex4ht.c (2010-12-16-08:39 Windows MiKTeX)
tex4ht -he
  -cunihtf
  -utf8
  mwe
(C:/Program Files (x86)/MiKTeX 2.9/tex4ht/base/win32/tex4ht.env)
(C:/Program Files (x86)/MiKTeX 2.9/fonts/tfm/public/cbgreek/grmn1000.tfm)
(C:/Program Files (x86)/MiKTeX 2.9/tex4ht/ht-fonts/unicode/cbgreek/grmn.htf)
--- error --- Illegal storage address

  K `y          cmr10   &&

texhash我尝试用和刷新 TeX 名称数据库,mktexlsr但“非法存储地址”问题仍然存在。

答案1

我没有miktex,所以不知道有关路径的错误消息是什么意思,但是对于 utf-8 输出,您必须使用以下命令运行 htlatex:

htlatex mwe "xhtml, charset=utf-8" " -cunihtf -utf8"

结果:

带重音符号的字符 希腊字符 ασδφγη

相关内容