前提
cgiのHTML::TEMPLATEを使用して「あいうえお」と表示させたいのですが文字化けします。
文字化けしないようにするにはどうすればよいでしょうか。
該当のソースコード
cgi
1#!/usr/bin/perl 2 3use lib qw(.); 4use KCatch qw( source ); 5use CGI; 6use HTML::Template; 7binmode STDOUT,":utf8"; 8 9my $query = new CGI; 10$test = "あいうえお"; 11 12open( my $fh, "<:utf8", './template/test.html' ) or die($!); 13my $tmpl_html = HTML::Template->new(filehandle => $fh ); 14 15$tmpl_html->param('test' => $test); 16 17print "Content-Type: text/html; charset=UTF-8\n\n", $tmpl_html->output;
html
1<html> 2<head> 3<body> 4<tmpl_var name="test"> 5<br> 6あいうえお 7</body> 8</html>
試したこと
それぞれのファイルの文字コードを変更したりしましたが、解決できませんでした。
補足情報(FW/ツールのバージョンなど)
cgi・html共にutf-8
サーバーはubuntu20.04
HTML::TEMPLATEはaptitude searchで入れました
回答2件
あなたの回答
tips
プレビュー