人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Jcode.pmについての質問です。

Jcode.pm をそのままフォルダにおいて利用しています。

$textにランダムにWEBサイト上から読み込んだファイルを以下のようにして
コンバートしています。

&Jcode::convert(\$text, "sjis");

しかし、ある特定のWEBファイル(どこが原因がわからない、そのサイト内は
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
という表記になっている)で強制的にストップしてしまうようです。

逆にjcode.plに変えると止まりません。

前まではjcode.plを利用していたのですが、UTF8が変換出来ないようなので
あまりモジュールなどを理解しない内にJcode.pmを使うようになりました。

jcode.plはストップしないけど、UTF8が操作できない、Jcode.pmはUTFがばっちりだけど、
止まってしまう、、、

という事でほとほと困っています。

今、プログラムの組み直しをして両方をうまく使う方法をとろうとしているのですが、
どなたか同じ事でつまっているかたはいらっしゃらないでしょうか?

●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:pm SJIS いるか ほと コンバート
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●46ポイント ベストアンサー

jcode.pl はもう古すぎでしょう。

Jcode.pm で問題ないはずですがバージョンは何を使っていますか?


別の方法としては、Unicode::Japanese という手段があります。

Unicode::Japanese::JA - ?????¬???????????????????????? - search.cpan.org

◎質問者からの返答

Jcode.pmのバージョンは最新のものです(;;)

# 文字コード変換 UCS などという訳わかめなコードが出たときは旧バージョンで変換する

if ( &Jcode::getcode(\$y_page) =~ m{ucs}i ){

&jcode::convert(\$y_page, "sjis");

} else {

&Jcode::convert(\$y_page, "sjis");

}

一応、以上の方法で回避できましたが、なんでしょう?UCSという文字コードは?ちなみに、旧バージョンでコードを調べるとバイナリーと出ます。

b?windさん、いつもありがとうございます。

Unicode::Japaneseを試してみます!


2 ● b-wind
●45ポイント

?????? - search.cpan.org

Jcode.pm の最新は 2.06 。そしてこのバージョンでは Perl のバージョンによって Encode モジュールのラッパーとして動作するので挙動が変わる。


問題を解決したければ、それぞれのバージョンを明示すべき。

http://search.cpan.org/~dankogai/Jcode-2.06/Jcode/Nihongo.pod#(12469)(12502)(12523)(12540)(12481)(12531)


あと ucs2 は普通に Unicode 仕様の中に含まれる。

http://www.shuiren.org/chuden/teach/code/main8.htm

◎質問者からの返答

ご指摘ありがとうございます。

今後は、バージョン等を一緒に記載いたします。バージョンは、2.06でした。

UCSも調べてみます。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ