我正在修改用Perl编写的成熟的CGI应用程序,并且出现了内容编码的问题.浏览器报告内容是iso-8859-1编码,并且应用程序声明iso-8859-1作为HTTP标头中的字符集,但似乎从未实际进行过编码.perldoc教程(编码,编码,打开)中描述的各种编码技术都没有在代码中使用,所以我对文档实际编码方式有点困惑.
如上所述,该应用程序非常成熟,可能早于许多当前的编码方法.有谁知道我应该寻找的任何遗留或弃用的技术?当开发人员没有提供方向时,Perl假设/默认为什么编码?
谢谢
默认情况下,Perl将字符串处理为字节序列,因此如果从文件中读取并将其打印到STDOUT,它将生成相同的字节序列.如果您的模板是Latin-1,那么您的输出也将是Latin-1.
如果您在使用文本字符串上下文的字符串(如使用uc
,lc
等等)的Perl假设Latin-1的语义,除非字符串以前解码.
更多关于Perl,charsets和编码