質問編集履歴
2
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
exit;
|
63
63
|
```
|
64
64
|
|
65
|
-
■HTML(
|
65
|
+
■HTML(UTF-8)ソースコード
|
66
66
|
```HTML
|
67
67
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
68
68
|
<html lang="ja">
|
1
分かりやすく修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Perl
|
1
|
+
CGI(Perl)にて複数の文字コードのファイルを読み込んだ際(UTF-8、EUC)の文字化けについて
|
test
CHANGED
@@ -15,26 +15,49 @@
|
|
15
15
|
use HTML::Template;
|
16
16
|
use XML::TreePP;
|
17
17
|
|
18
|
+
use Config::Tiny;
|
19
|
+
|
20
|
+
|
21
|
+
|
18
22
|
### 初期設定 -------------------------------------
|
19
23
|
my $tmpl_html;
|
20
24
|
# テンプレートをセット
|
21
25
|
$tmpl_html = HTML::Template->new(filename => './test.html');
|
22
26
|
|
23
|
-
my $testxml = './
|
27
|
+
my $testxml = './test.xml';
|
24
28
|
|
25
29
|
my $tpp = XML::TreePP->new();
|
26
30
|
$tpp->set( force_array => [qw( REC )] );
|
27
|
-
$tpp->set( utf8_flag => 1 );
|
31
|
+
#$tpp->set( utf8_flag => 1 );
|
28
32
|
$tpp->set( ignore_error => 1 );
|
29
33
|
my $myxml = $tpp->parsefile( "$testxml" );
|
30
34
|
|
31
|
-
my $test = $myxml->{DATA}->{SETTING}->{TEST};
|
32
35
|
|
36
|
+
my $test = $myxml->{DATA}->{TEST};
|
33
|
-
$tmpl_html->param('
|
37
|
+
$tmpl_html->param('XML' => $test);
|
38
|
+
|
39
|
+
|
40
|
+
my $config = Config::Tiny->read("./test.ini"); # settei.iniの読込
|
41
|
+
my $ini = $config->{"test"}->{"test_ini"};
|
42
|
+
$tmpl_html->param('INI' => $ini);
|
43
|
+
|
44
|
+
|
45
|
+
my $testtext = './test.txt';
|
46
|
+
open(TXT, "< $testtext") or die "Can't Open TXT file.\n";
|
47
|
+
my $testtext2 = <TXT>;
|
48
|
+
close(TXT);
|
49
|
+
$tmpl_html->param('TXT' => $testtext2);
|
50
|
+
|
51
|
+
|
52
|
+
|
34
53
|
|
35
54
|
# HTML書き出し
|
36
55
|
print "Content-type: text/html; charset=EUC-JP\n\n";
|
37
56
|
print Jcode->new($tmpl_html->output)->euc;
|
57
|
+
|
58
|
+
#print "Content-type: text/html; charset=EUC-JP\n\n";
|
59
|
+
#print $tmpl_html->output;
|
60
|
+
|
38
61
|
|
39
62
|
exit;
|
40
63
|
```
|
@@ -45,18 +68,24 @@
|
|
45
68
|
<html lang="ja">
|
46
69
|
<head>
|
47
70
|
|
48
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
71
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
49
|
-
<title>
|
72
|
+
<title>MEVIUS | 管理者メニュー</title>
|
50
73
|
<meta http-equiv="Content-Language" content="ja">
|
51
74
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
52
75
|
<meta http-equiv="Content-Script-Type" content="text/javascript">
|
76
|
+
<meta name="Copyright" content="株式会社アイシン">
|
53
77
|
</head>
|
54
78
|
|
55
79
|
<body>
|
56
80
|
|
57
81
|
あいうえお
|
58
82
|
<br>
|
83
|
+
<tmpl_var name="XML">
|
84
|
+
<br>
|
85
|
+
<tmpl_var name="INI">
|
86
|
+
<br>
|
59
|
-
<tmpl_var name="T
|
87
|
+
<tmpl_var name="TXT">
|
88
|
+
|
60
89
|
|
61
90
|
</body>
|
62
91
|
</html>
|
@@ -67,19 +96,31 @@
|
|
67
96
|
```XML
|
68
97
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
69
98
|
<DATA>
|
70
|
-
<SETTING>
|
71
|
-
<TEST>
|
99
|
+
<TEST>XMLファイル</TEST>
|
72
|
-
</SETTING>
|
73
100
|
</DATA>
|
74
101
|
```
|
75
102
|
|
76
|
-
■
|
103
|
+
■iniファイル(EUC-JP)ソースコード
|
104
|
+
```XML
|
105
|
+
[test]
|
77
|
-
|
106
|
+
test_ini=イニファイル
|
107
|
+
```
|
108
|
+
|
109
|
+
■txtファイル(EUC-JP)ソースコード
|
110
|
+
```XML
|
78
|
-
テスト
|
111
|
+
テキストファイル
|
112
|
+
```
|
79
113
|
|
80
114
|
|
115
|
+
■出力結果-------------------------------------
|
116
|
+
あいうえお
|
117
|
+
XMLファイル
|
118
|
+
??????????
|
119
|
+
?????????????
|
120
|
+
|
121
|
+
|
81
|
-
上記のような出力結果になり、
|
122
|
+
上記のような出力結果になり、EUC-JPのiniファイル、txtファイルの値が文字化けします。
|
82
|
-
どなたかご教授
|
123
|
+
どなたかご教授頂けると幸いです。
|
83
124
|
宜しくお願い致します。
|
84
125
|
|
85
126
|
|