我在将DB2数据库中的UTF-8字符转换为LaTeX格式时遇到了问题。
我有一个DB2数据库,它位于代码集UTF-8和代码页1208中。我有一个字段“lastname”,其中包含一些包含东欧特殊字符的名称š(带有caron的“s”,Unicode代码点U + 0161,HTML实体š
)和á(“a”表示急性,Unicode代码点U + 00E1,HTML实体á
)。
我在shell中的环境是LANG de_DE.utf8。我使用DBI模块读取Perl中的数据库字段,并希望将名称转换为LaTeX格式进行打印,但它不适用于字符š。
我想按如下方式转换这些字符:
á
- > \'{a}
š
- > \v{s}
我可以使用以下代码($tmp
包含áš
)转换á但不能转换š:
print TeX::Encode::encode('latex',$tmp);
这会给\'a?
。 \'a
是正确的,但š不是?
。
当我将字段直接保存到文件并使用十六进制编辑器查看时,它会显示e1 1a
。 e1
是正确的,但1a
不正确(根据Latin-2,它应该是b9
)。
有人可以帮我将这些东欧名称从UTF-8数据库转换为通用LaTeX格式进行打印吗?