Apacheエラーログ Malformed UTF-8 character (byte 0xff) in eval "string" at (eval **) line *
- プログラム
my $komoji = 'aiueoAIUEO0123456789,./%-'; print "komoji : ".$komoji."<br>"; my $oomoji = Jcode->new($komoji)->tr('a-zA-Z0-9-!(),./%%','a-zA-Z0-9!−(),./%')->sjis; print "oomoji : ".$oomoji."<br>";
- Apacheエラーログ
Malformed UTF-8 character (byte 0xff) in eval "string" at (eval **) line *
- 出力
komoji : aiueoAIUEO0123456789,./%- oomoji : aiueoAIUEO0123456789,./%-
「-」だけ置換されていない。。
Jcode.pm側で「-」がエスケープされてエラーを起こしている様子。
- 解決方法
my $komoji = 'aiueoAIUEO0123456789,./%-'; print "komoji : ".$komoji."<br>"; my $oomoji = Jcode->new($komoji)->tr('a-zA-Z0-9!(),./%%','a-zA-Z0-9!(),./%')->tr('-','−')->sjis; print "oomoji : ".$oomoji."<br>";
- 出力
komoji : aiueoAIUEO0123456789,./%- oomoji : aiueoAIUEO0123456789,./%−
おっイケた。
- 参考ページ