
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で質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Ruby 教えてください 2 2023/01/04 17:50
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- PDF acrobatでwordファイルをpdfに変換すると文字化けする 3 2023/02/10 09:31
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
INDIRECT 横に再度抽出したい
-
Perlのエラーについてご教授く...
-
テキストファイルで提出とは?
-
Strawberry Perl for Windows ...
-
perlの構文でカンマの意味が分...
-
Perlで特定文字列から特定文字...
-
perl 初等プログラミングについて
-
perlのflock関数でロックをかけ...
-
perlプログラミング 空白行削除
-
perlをバージョンアップしたら...
-
Perl の外部モジュールの利用方法
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlでリテラル値はメモリにど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perl cgiの文字化けを直したい ...
-
【エラー】Unrecognized character
-
Perl UTF8で出力
-
perlでuse utf8でsjisのファイ...
-
perlの自作ライブラリについて
-
Perl:Unicodeプロパティ作れない
-
perlのmysqlで文字化けをする、...
-
does not map to shiftjis は解...
-
sedの動作
-
Perlを用いて、XMLファイルの中...
-
消費税の計算で 税込価格から...
-
Perl utf8上でshiftjisをデコード
-
perlのLWP::Simpleでgrepの値が...
-
perlで新規ファイルを作成でき...
-
utf-8のCSVをshift_jisに変換し...
-
Perlでのファイル出力における...
-
HTTP::Request::Common qw(POST...
-
[Perl]Shift-JISのXMLを解析する場
-
[perl5.8] utf8で文字出力する...
-
ファイル出力をUTF8Nではなくて...
おすすめ情報
回答ありがとうございます。
ファイル形式はutf8に出来ました。
しかし中身が文字化けしてしまいます。
$htmlの日本語をutf8に変換する必要があるようです。
変数をutf8に変換するにはどのようにしたら良いでしょうか?
なんか出来たかもしれません。
cgiのファイル自体がutf8になっていなかったようです。
でさらに下を追加したら文字化けしなくなりました。
use Encode;
use utf8;
これでちょっといろいろ試してみます。
ありがとうございました。
あっダメでした。
$htmlのShift-JISが文字化けしたままでした。
$htmlをutf8に変換するには
どうすれば良いでしょうか?
ちょっと調べて見ましたが簡単には分かりませんでした。
ご存知でしたら教えてください。
こちらの環境は
Windows10pro
Perl V5.16.3
です。
ありがとうございます。
お手数をおかけしました。
元の読みだすファイルの形式がUTF-8形式になっていたようです。
これをshift_jis形式に変更して読み込んだらうまく行きました。