我用Perl中的字符替换literal\xNN?

Ana*_*hah 0 perl character-encoding

我有一个Perl脚本,它从MySQL表中获取文本值并将其写入文本文件.问题是,当我打开文本文件进行查看时,我会得到很多十六进制字符\x92,\x93并且代表单引号和双引号,我猜.

DBI->quote在将值写入文本文件之前使用函数来转义特殊字符.我尝试过使用Encode :: Encoder,但没有运气.两个表上的字符集都是latin1.

如何摆脱这些十六进制字符并让字符显示在文本文件中?

mar*_*k4o 5

ISO Latin-1不定义0x80到0x9f范围内的字符,因此需要以十六进制显示这些字节.很可能您的数据实际上是在Windows-1252中编码的,这与Latin1相同,只是它定义了此范围内的其他字符(包括左/右引号).