проблема кодификации utf8 в C #, написание текстового файла и компиляция с помощью pdflatex - PullRequest
0 голосов
/ 15 июня 2010

у меня есть следующий код, написанный на C # .... он создает текстовый файл с использованием utf-8 ..... проблема в том, что кажется, что это не настоящий файл utf-8, потому что, когда я использую pdflatexон не распознает персонажей с акцентами.Кто-нибудь знает способ написать настоящий файл UTF-8?Когда я использую TexmakerX для создания файла utf8 с тем же латексным кодом, pdflatex не жалуется, поэтому проблема должна быть в поколении.

                    StreamWriter writer = new StreamWriter("hello.tex", false, Encoding.UTF8);

        writer.Write(@"\documentclass{article}" + "\n" +
                     @"\usepackage[utf8]{inputenc}" + "\n" +
                    @"\usepackage[spanish]{babel}" + "\n" +
                        @"\usepackage{listings}" + "\n" +
                        @"\usepackage{fancyvrb}" + "\n" +
                        @"\begin{document}" + "\n" +
                        @"\title{asd}" + "\n" +
                        @"\maketitle" + "\n" +
                        @"\section{canción}" + "\n" +

                        @"canción" + "\n" +

                        @"\end{document}");
        writer.Close();

1 Ответ

3 голосов
/ 15 июня 2010

Это может быть проблема с отсутствующей меткой порядка байтов Unicode (BOM).Вы можете проверить это с помощью пользовательского UTF8Encoding:

using (StreamWriter writer = 
    new StreamWriter("hello.tex", false, new UTF8Encoding(true, true)))
{

}
...