
No.3ベストアンサー
- 回答日時:
文字化けの原因を調査しましょう。
・元のファイルは本当にShift_JISなのか
・出力されたファイルは本当にUTF-8なのか
→出力はUTF-8になっているが、ブラウザがUTF-8にならない
・「---内容を$htmlにセットして」の箇所に問題がある
ありがちなのが
・元のファイルに charset=shift_jis 等の記述がある
→出力にもそのまま残っている
というものです。そういうことは無いですか?
No.1
- 回答日時:
よほど古いバージョンでなければ、次のような流れにするとよいでしょう。
外部から取り込んだものは、decodeでutf8フラグ付き文字列にする
または、open,binmodeで文字コードを指定して、utf8フラグ付き文字列で取り込む
↓
処理: 「全角文字」も1文字として処理できる
↓
出力先の文字コードに encode で変換する
または、open,binmodeで文字コードを指定してしておく
http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl …
例えば、その内容なら次のようにします。
open(IN,"$file");
→open(IN,"<:encoding(shift_jis)",$file);
open(OUT,">$file");
→open(OUT,">:utf8",$file);
場合によっては、「内容を$htmlにセット」の部分にも変更が必要かもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl cgiの文字化けを直したい ...
-
JavaでCSVファイルを高速に読む...
-
MATLAB グローバル変数の宣言
-
正規表現で、特定のファイル名...
-
ディレクトリ内のtxtファイル中...
-
batファイルでrenameができませ...
-
ファイルのロックについて
-
openした後、closeしないでプロ...
-
Edge スクレイピング
-
エクセルVBA コードが同じでも...
-
パスから最後のディレクトリだ...
-
【Access2003】VBAでタブ区切り...
-
エディットボックスの表示方法...
-
file_exists関数について
-
perlで複数のファイルの処理に...
-
perlをデスクトップのショート...
-
【C++/CLI】ファイルオープンに...
-
Windowsで複数のファイルを同じ...
-
VBAでCSVファイルを途中行まで...
-
powerpointでwebページとして保...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perl cgiの文字化けを直したい ...
-
vimでのutf8の取扱について
-
perl5.8.3のunicode環境で日本...
-
ファイル出力をUTF8Nではなくて...
-
csv2wiki.plのエンコーディング...
-
utf-8での日本語正規表現の書き方
-
<STDIN>とARGVとの振る舞いの違...
-
[Perl]Shift-JISのXMLを解析する場
-
Perl出力をUTF-8に指定する方法
-
Perl UTF8で出力
-
HTTP::Request::Common qw(POST...
-
[perl5.8] SJISで出力したはず...
-
perlをwindows環境でshift-jis...
-
Perlの文字コードを意識したフ...
-
Perl utf8上でshiftjisをデコード
-
does not map to shiftjis は解...
-
文字を一文字ずつ区切りたい
-
初心者で、困っています。(文...
-
perlの自作ライブラリについて
-
複数種類の括弧でくくられてな...
おすすめ情報
回答ありがとうございます。
ファイル形式はutf8に出来ました。
しかし中身が文字化けしてしまいます。
$htmlの日本語をutf8に変換する必要があるようです。
変数をutf8に変換するにはどのようにしたら良いでしょうか?
なんか出来たかもしれません。
cgiのファイル自体がutf8になっていなかったようです。
でさらに下を追加したら文字化けしなくなりました。
use Encode;
use utf8;
これでちょっといろいろ試してみます。
ありがとうございました。
あっダメでした。
$htmlのShift-JISが文字化けしたままでした。
$htmlをutf8に変換するには
どうすれば良いでしょうか?
ちょっと調べて見ましたが簡単には分かりませんでした。
ご存知でしたら教えてください。
こちらの環境は
Windows10pro
Perl V5.16.3
です。
ありがとうございます。
お手数をおかけしました。
元の読みだすファイルの形式がUTF-8形式になっていたようです。
これをshift_jis形式に変更して読み込んだらうまく行きました。