我已经看过了本文问题就是这样的;当我通过 exim4 发送一封信件并且主题是西里尔字母时,我在邮件日志中看到了如下内容:
T="\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270 PHP"
而不是一些正常的事情。
Perl 中是否有可以解码该内容的函数?
$var1="\320\235..... PHP" printf("$var1") 打印 \320\235....PHP 这可能会有所帮助。文件日志文件:ASCII 文本
答案1
print
似乎完成了工作:
$ perl -e 'print "\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270 PHP" . "\n"'
Настройки PHP
但无需使用 perl:
$ printf "\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270 PHP\n"
Настройки PHP
答案2
use Encode::Escape;
$var1='\321\213';
print decode 'unicode-escape', $var1;
#correct mysql view in phpmyadmin
$dbh = DBI->connect('DBI:mysql:database=test', 'testuser', 'testpass', { mysql_enable_utf8 => 1});
不知道为什么,但是有效