Perl 5.8 から標準で Encode モジュールが含まれるようになりました。いままで jcode.pl や Jcode.pm を別途インストールしていたのですが、その手間が省け精神的にも楽です。そして何よりも変換速度は早いようです。 Perl 5.8 からは文字コードの取り扱いが変わったようで、Perl 内部で独自の文字コード管理をしております。( 内部的には Unicode? ) Encode モジュール簡単な使い方-てすと Encode モジュールは、 ・Perl 内部文字管理 => Encode モジュール => 出力 ( printf 等 ) というようにフィルタとしても動作することが可能なようです。 新しく実装された( ? ) PerlIO というものを経由して open 関数でも使用できます。 TIPS として書いてますが、よく使い方が分からない所があり、ここに書いてある
Perlによる日本語コード変換のメモ(第二版) hikoboshi.home / Perlによる日本語コード変換のメモ(第二版) 前に書いたときと時代背景も知識も大幅に違うので、書き直してみることにしました。Perl 5.8以降を前提として考えます。 この文章で書く(つもりの)こと use utf8環境での、文字セットの考え方 発生しがちな文字化けとその原因 解決のヒント jcode.pl時代の文字セットの扱い まずは、jcode.plなどが全盛だった時代を思い出してみます。jcode.plの時代は、Unicodeはほぼ使われておらず、JIS, Shift_JIS, EUC_JPあたりの変換を行う事が主でした。実際のコードを見て、扱われ方を考察してみましょう。 #!/usr/bin/perl # jcode.plを用いたコード変換 require 'jcode.pl'; open my $
Perlで日本語を使用するとき、正しく動かなくなる代表的なケースは次の2点です。 日本語を扱う時、文字コードを意識していない。 正規表現で、日本語の文字列を使うとエラーが出る。 日本語を扱う時には、文字コードを意識する必要があります。 代表的な文字コードには「7ビットJIS」「SJIS(シフトJIS)」「EUC(日本語EUC)」「UTF8(Unicode)」があります。 厄介なのは、同じ言葉でも、文字コードによってコンピューター内部での表現が違うことです。 例えば、WebブラウザからSJISで送られてきた「塚本」という言葉と、EUCコードのスクリプト中で設定した「塚本」という言葉を比較すると「別物だよ」という結果が出ます。 こうした問題が起きないように、普通は、以下のことに気をつけてスクリプトを作ります。 スクリプトを書くときに、どの文字コードを使うか決めておく。 データの入出力(CGIの
変数は以下のように値を代入したり出力することができます。 # 変数に文字列を代入 $value = "テストです"; # 変数を出力 print $value; 【参照ページ】 変数 配列 複数の値を1つの変数で管理したい場合は、『配列』という変数が最適です。 配列を初期化する場合は、要素をカッコで囲み、各要素毎にカンマで区切ります。 @week = ('日曜', '月曜', '火曜', '水曜', '木曜', '金曜', '土曜'); 配列はインデックスを使って参照します。インデックスは 0から始まるので注意してください。たとえば1番目のデータ "日曜" を呼び出すときは、$week[0]、"月曜"なら $week[1] とします。 # 配列 @week の1番目の要素を表示 print $week[0], "\n"; > 日曜 # 配列 @week の2番目の要素を表示 print $
-> 趣旨と注意書き -> UTF8フラグ? -> UTF8フラグとPerlIOレイヤ -> UTF8フラグのついた文字列を記述する -> Wide character in print ... -> Encode -> utf8::* -> use utf8; -> use encoding; -> use UTF8 と use encoding -> JcodeからEncodeへ -> 情報源 <- モドル 趣旨と注意書き Perl 5.8.x のUnicode 関連です。 正直、5.8.x は、ネタでしか使ってなかったので(ぉ、ちゃんといじったことがありませんでした。 使ってみると、よくわかんなくなったので、ちょっとまとめてみました。 今でもあんまりわかってないかもしれないので、内容は無保証です。 突っ込み歓迎。 Jcode、Encodeのメンテナの弾さんから、ご指摘いただいたので、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く