4

我有一个带有西里尔字符的网址:

http://www.pravoslavie.bg/Възпитание/Духовно-и-светско-образование

当我编译文档时,我得到以下网址:

http://www.pravoslavie.bg/%5CT2A%5CCYRV%20%5CT2A%5Ccyrhrdsn%20%5CT2A%5Ccyrz%20%5CT2A%5Ccyrp%20%5CT2A%5Ccyri%20%5CT2A%5Ccyrt%20%5CT2A%5Ccyra%20%5CT2A%5Ccyrn%20%5CT2A%5Ccyri%20%5CT2A%5Ccyre%20/%5CT2A%5CCYRD%20%5CT2A%5Ccyru%20%5CT2A%5Ccyrh%20%5CT2A%5Ccyro%20%5CT2A%5Ccyrv%20%5CT2A%5Ccyrn%20%5CT2A%5Ccyro%20-%5CT2A%5Ccyri%20-%5CT2A%5Ccyrs%20%5CT2A%5Ccyrv%20%5CT2A%5Ccyre%20%5CT2A%5Ccyrt%20%5CT2A%5Ccyrs%20%5CT2A%5Ccyrk%20%5CT2A%5Ccyro%20-%5CT2A%5Ccyro%20%5CT2A%5Ccyrb%20%5CT2A%5Ccyrr%20%5CT2A%5Ccyra%20%5CT2A%5Ccyrz%20%5CT2A%5Ccyro%20%5CT2A%5Ccyrv%20%5CT2A%5Ccyra%20%5CT2A%5Ccyrn%20%5CT2A%5Ccyri%20%5CT2A%5Ccyre

那是不一样的。我可以将 hyperref 的编码设置为 utf8 吗?或者我该如何解决这个问题?

4

6 回答 6

1

如果您很高兴不使用该\url命令(即,您需要手动换行),您可以在常规 LaTeX 中执行以下操作:

\documentclass{文章}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\开始{文档}
\texttt{http://www.pravoslavie.bg/Възпитание/Духовно-и-светско-образование}
\结束{文档}

如果您需要使超链接正常工作,我现在唯一的建议是使用 XeTeX 或 LuaTeX 以便能够使用正确的 unicode 输入/输出。像下面这样的东西至少在 XeTeX 中产生了正确的输出,尽管超链接本身由于某种原因被破坏了:(

\documentclass{文章}
\usepackage{fontspec,hyperref}
\setmonofont{Arial Unicode MS}
\开始{文档}
\url{http://www.pravoslavie.bg/Възпитание/Духовно-и-светско-образование}
\结束{文档}
于 2009-12-06T23:09:54.073 回答
1

我对 pdftitle 字段有类似的问题。

拆分使用声明和设置使其正常工作

\usepackage{hyperref}
\hypersetup{
pdftitle=Priorità
}
于 2010-12-20T11:58:45.897 回答
0

假设您的 LaTeX 源代码是 utf8 编码的,请尝试添加\usepackage[utf8]{inputenc}到您的文档中。如果 utf8 不起作用,请尝试 utf8x。看这里

于 2009-12-06T08:58:13.847 回答
0

@Mike Weller:我的文档中已经有 \usepackage[utf8]{inputenc} ,使用 utf8x 我得到以下网址:

http://www.pravoslavie.bg/\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{Ð}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{з}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{п}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{Ð ̧}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{а}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{Ð1⁄2}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{Ð ̧}intopreamble]\begingroup\let\relax\relax\
endgroup[Pleaseinsert\PrerenderUnicode{Ðμ}intopreamble]/\begingroup\let\relax\
relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð}intopreamble]\begingroup\let\relax\
relax\endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]\begingroup\let\relax\
relax\endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]\begingroup\let\relax\
relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð3⁄4}intopreamble]\begingroup\let\relax\
relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð2}intopreamble]\begingroup\let\relax\
relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð1⁄2}intopreamble]\begingroup\let\relax\
relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð3⁄4}intopreamble]-\begingroup\let\
relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð ̧}intopreamble]-\begingroup\
let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]\begingroup\
let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð2}intopreamble]\begingroup\
let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ðμ}intopreamble]\begingroup\
let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]\begingroup\
let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]\begingroup\
let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ðo}intopreamble]\begingroup\
let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð3⁄4}intopreamble]-\
begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð3⁄4}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{б}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ñ}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{а}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{з}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð3⁄4}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð2}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{а}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð1⁄2}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ð ̧}intopreamble]
\begingroup\let\relax\relax\endgroup[Pleaseinsert\PrerenderUnicode{Ðμ}intopreamble]D

编辑:问题已解决-我使用 URL 编码来转换西里尔字符 :)

于 2009-12-06T09:12:09.730 回答
0

如果它,正如其他海报似乎假设的那样,一个字符集问题,请确保 bibtex 源和 tex 文档的字符编码匹配。参照。Q#1635788:latex 和 bibtex 文件的不同编码。您不需要将字符编码都设为 utf8;应该认为 latin-5 或 KOI8-R 都可以工作,但它是最好的支持。

如果不是,则按照我上面的评论:查看您正在使用的软件链:编辑器、makefile 等,看看是否有什么东西正在为您进行不需要的 URL 转义。然后对有问题的软件进行无情的处理。

于 2009-12-07T10:24:06.683 回答
0
\usepackage[unicode]{hyperref}

使用 texlive 发行版为我工作(至少从 2010 年 6 月开始)(不确定是否相关)。

于 2012-08-31T11:49:50.007 回答