Perlにて質問があります。
Perl(EUC-JP)にてHTML::Templateを使用してWebページを作成しているのですが、出力した際に文字化けします。
ソースコードは以下の通りです。どなたかご教授お願い致します。
■Perl(EUC-JP)ソースコード
Perl
1#!/usr/bin/perl 2# 3 4### モジュール読み込み ----------------------- 5use lib qw(.); 6use strict; 7use CGI; 8use Jcode; 9use HTML::Template; 10use XML::TreePP; 11 12use Config::Tiny; 13 14 15 16### 初期設定 ------------------------------------- 17my $tmpl_html; 18# テンプレートをセット 19$tmpl_html = HTML::Template->new(filename => './test.html'); 20 21my $testxml = './test.xml'; 22 23my $tpp = XML::TreePP->new(); 24$tpp->set( force_array => [qw( REC )] ); 25#$tpp->set( utf8_flag => 1 ); 26$tpp->set( ignore_error => 1 ); 27my $myxml = $tpp->parsefile( "$testxml" ); 28 29 30my $test = $myxml->{DATA}->{TEST}; 31$tmpl_html->param('XML' => $test); 32 33 34my $config = Config::Tiny->read("./test.ini"); # settei.iniの読込 35my $ini = $config->{"test"}->{"test_ini"}; 36$tmpl_html->param('INI' => $ini); 37 38 39my $testtext = './test.txt'; 40open(TXT, "< $testtext") or die "Can't Open TXT file.\n"; 41my $testtext2 = <TXT>; 42close(TXT); 43$tmpl_html->param('TXT' => $testtext2); 44 45 46 47 48# HTML書き出し 49print "Content-type: text/html; charset=EUC-JP\n\n"; 50print Jcode->new($tmpl_html->output)->euc; 51 52#print "Content-type: text/html; charset=EUC-JP\n\n"; 53#print $tmpl_html->output; 54 55 56exit;
■HTML(UTF-8)ソースコード
HTML
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html lang="ja"> 3<head> 4 5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6<title>MEVIUS | 管理者メニュー</title> 7<meta http-equiv="Content-Language" content="ja"> 8<meta http-equiv="Content-Style-Type" content="text/css"> 9<meta http-equiv="Content-Script-Type" content="text/javascript"> 10<meta name="Copyright" content="株式会社アイシン"> 11</head> 12 13<body> 14 15あいうえお 16<br> 17<tmpl_var name="XML"> 18<br> 19<tmpl_var name="INI"> 20<br> 21<tmpl_var name="TXT"> 22 23 24</body> 25</html> 26
■XML(UTF-8)ソースコード
XML
1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<DATA> 3 <TEST>XMLファイル</TEST> 4</DATA>
■iniファイル(EUC-JP)ソースコード
XML
1[test] 2test_ini=イニファイル
■txtファイル(EUC-JP)ソースコード
XML
1テキストファイル
■出力結果-------------------------------------
あいうえお
XMLファイル
??????????
?????????????
上記のような出力結果になり、EUC-JPのiniファイル、txtファイルの値が文字化けします。
どなたかご教授頂けると幸いです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー