WWW::Mechanizeの文字コードについて質問
以下のようなソースコードを書いて実行してみたのですが
どのサイトを取得しても、すべて文字コードがUTF8だと認識されます。
-------------------------------------------------------
#!/usr/bin/perl
#WWW:MechanizeでHTMLの取得
use WWW::Mechanize;
$w = WWW::Mechanize->new();
$w->get("URL");
$html=$w->content;
#文字コードの判別
use Encode;
use Encode::Guess qw/ascii utf8 euc-jp shiftjis 7bit-jis/;
my $dec = Encode::Guess->guess($html);
print$dec->name;
-------------------------------------------------------
例えば以下のサイトは文字コードがEUC-JPですがこれもprintされるのはUTF8となってしまいます。
http://barukanlog.blog31.fc2.com/blog-entry-541. …
WWW:Mechanizeでサイトを取得し、サイトの文字コードを調べてすべてsjisにする
ということがしたいのですが、すべてutf8に判断されて先へ進めないんです。
何か設定やメソッドを追加しなくてはいけないのでしょうか?
わかりにくい質問かとは思いますがご回答お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
以下と同じ問題だと思います。
http://sida.sblo.jp/article/35442814.html
ただし、http://barukanlog.blog31.fc2.com/blog-entry-541. … はgzip圧縮で送られてくるようで、上のurlのやり方だと文字コードを判定できません。
キャラクタセットだけを知りたいのでしたら、以下のようにする手もあります。
my $mech = WWW::Mechanize->new();
my $res = $mech->get( $url );
print $res->content_charset;
No.1
- 回答日時:
WWW::Mechanizeでは、取得したHTMLをすべて
utf8で変換しているようです。
#自分も試してみましたが、utf8になりました。
なので、取得した後にsjisに変換すればいいのではないでしょうか?
#文字コードの判別
use Encode;
use Encode::Guess qw/ascii utf8 euc-jp shiftjis 7bit-jis/;
$html = encode('shiftjis', $html );#←ここに追加
my $dec = Encode::Guess->guess($html);
print$dec->name;
#shiftjisになると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- PHP phpの imap_search で漢字コード 1 2022/09/06 17:32
- その他(IT・Webサービス) サイト。お問い合わせコードを抜き取り、このコードに、返信文字を入力 して、相手に送信は可能ですか。 1 2023/05/18 13:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML::Templateでutf-8のテンプ...
-
perl でエラー:Wide character...
-
カタカナ一覧表が知りたい
-
CGIでメール送信で件名文字化け
-
MFCのコントロールにUTF-8の文...
-
CSVファイルの中で、「 , 」カ...
-
英数字のみ全角から半角に変換
-
EXCELからCSVにすると余計なカ...
-
エクセルで数値を全角文字(カ...
-
VBA 文字に半角が含まれて...
-
エクセルにMicrosoft Barcode C...
-
「何とかで始まり、何とかで終...
-
CString から LPCTSTRの型に変換
-
VBA 置換文字がみつからない時
-
秀丸で数字だけの行を削除したい
-
IEからEdgeへの移行に伴うIMEの...
-
文字コードの%E3%80%とは何です...
-
全角英数字の必要性が理解できない
-
データにカンマが入ったCSVデー...
-
各項目がダブルクォーテーショ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perl でエラー:Wide character...
-
【LaTeX】pBibTeXでのエラーの...
-
【文字コード】外見上は全く同...
-
MFCのコントロールにUTF-8の文...
-
perlについての質問
-
sedやperlでの2バイト文字を含...
-
WindowsでUTF-8のPerlスクリプ...
-
HTML::Templateでutf-8のテンプ...
-
Java+MySQLで特殊文字(丸数字(...
-
jcode.plのかわり
-
UTF-8のPerlから、UTF-8、EUC、...
-
CGIでメール送信で件名文字化け
-
Perlで、文字の出現回数を調べ...
-
perlで読み込むテキストの文字...
-
UTF-16からUTF-8への変換
-
Jcodeによるカタカナ→ひらがな変換
-
PIC16F84AのBlank Checkは
-
printfの書式指定での2バイト文...
-
JcodeモジュールとEncodeモジュ...
-
perl について
おすすめ情報