Специалните знаци не се показват в pandoc html изхода

Опитвам се да накарам специални символи (за чужди фамилни имена) да работят в pandoc. Следвах инструкциите тук и се уверих, че всички специални знаци са представени чрез UTF кодиране (съгласно тази страница. Избрах опцията HTML Entity (decimal). получените файлове работят добре при конвертиране в docx или pdf, но не и в html. Има ли кодиране, което да работи и за трите изходни типа, или трябва да включа някаква друга опция?

Ето ред от код за маркиране за преобразуване с помощта на специалното кодиране на знаци

some example text with special characters Å, ä, ö

който трябва да се отпечата като

примерен текст със специални знаци Å, ä, ö

pandoc команди

pandoc example.md -o example.docx  # Works

pandoc example.md -o example.pdf   # Works

pandoc example.md -o example.html  # Doesn't work

изпълнението чрез inconv не променя поведението на изхода

iconv -t utf-8 example.md | pandoc -o example.html  # Doesn't work

person user2603493    schedule 20.01.2014    source източник


Отговори (4)


Опитвам

pandoc example.md -s -o example.html

вместо. Допълнителният -s (за „самостоятелен“) кара pandoc да вмъкне необходимите метаданни, за да създаде пълен HTML файл, вместо само HTML фрагмента, който директно съответства на текста в example.md. Като част от метаданните, pandoc също генерира информация, че файлът е UTF8 кодиран. Вашият браузър се нуждае от тази част от информацията, за да покаже специалните символи правилно.

Ако не можете да използвате флага -s по някаква причина, не забравяйте да уведомите браузъра за UTF8 по друг начин.

person Toxaris    schedule 12.02.2014
comment
Не работи, ако има китайски символи UTF-8. Трябваше да прибегна до кодиране на текст в браузъра. - person kakyo; 24.05.2018
comment
не е полезно, ако използвате summary.md, а не самостоятелно - person conteh; 09.01.2019

Добавете следното към _layouts/default.html в маркера, когато използвате summary.md и няма да можете да използвате -s за самостоятелен.

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
person conteh    schedule 09.01.2019

Можете също така да използвате опцията --ascii, за да произведете чист ascii изход със специални знаци, кодирани като обекти.

person Tobias Otto    schedule 20.04.2021

В index.html променете data-charset=iso-8859-15 на data-charset=utf-8 пример:

    <section
data-markdown="slides/demo.md"
          data-separator="\n---\n"
          data-separator-vertical="^\n\n"
          data-separator-notes="\n> >"
          data-charset="utf-8">
</section>
person Jane    schedule 16.05.2021
comment
Добре дошли в StackOverflow! Можете ли да споделите как е генериран този код? Не изглежда така, сякаш е произведен от pandoc. - person tarleb; 16.05.2021