文字コード

Windows 上で SASS を利用したときに、CSS の指定文字コードを UTF-8 にする

Windows で Ruby を動かすと規定の外部エンコーディングが Windows-31J で指定されている。そのため、日本語が含まれていると、「Invalid Windows-31J character…」というエラーが発生する。これは、SASS で出力した CSS に指定文字コードが「Windows-31J」…

正規表現で全角文字(ひらがな・かたかな・漢字、記号など)、半角カタカナをマッチさせる

#!/usr/bin/env perl use strict; use warnings; use Encode; use utf8; # 全角文字、全角記号、全角英数字、半角カナを含めている my $strings = "Aあb漢Cイd字0ギ-ャ1ゃ213=~3\\^_%―$\"#\tわ\n−Z"; my @chars = split '', $strings; my $utf8 = find_enco…

Unicode の波ダッシュ(U+301C WAVE DASH)について

Microsoft Windows(Windows XP 以前)では Unicode の波ダッシュ (U+301C, WAVE DASH) は“下がって上がる”形「」で表示される(MS 明朝、MS ゴシック、MS UI Gothic におけるもの)。それに対し、Unicode の全角チルダ (U+FF5E, FULLWIDTH TILDE) は“上がっ…

コミットする時のコメントで日本語を使えるようにする

変更をコミットする際に、日本語でコメントを入力すると「Unicode decode Error」が発生した。 下記のサイトを参考にして、~/.hgrc に文字コードを明示的に指定した。 % vi ~/.hgrc export HGENCODING=utf-8; これで日本語のコメントを入力できるようになっ…

正規表現で日本語と半角英数字の間にスペースを挿入する

「404 Blog Not Found:perl - 半角スペースを自動で入れる」を流用した。 #!/usr/local/bin/perl use strict; use warnings; use Encode; my $east = qr/(?!\p{M})(?:\p{Han}|\p{Katakana}|\p{Hiragana})/; my $west = qr/(?!\p{M})(?:\p{Latin}|\p{Greek}|\…

全角ハイフンを含む文字列の文字コードを UTF-8 に変換すると文字化けする

Unicode には似た記号が多い おそらく原因は、Unicode に記号が多いため、全角ハイフンなのか全角のマイナス記号なのか区別がついていないからではないかと思われる。 Jcode Respect UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ Unicode …

文字コードの変換を試してみる

#!/usr/bin/perl use strict; use warnings; use LWP::Simple; use Encode; my $url = 'http://www.excite.co.jp/'; my $filename = 'sample.html'; # WEB ページを取得する my $body = get($url); # 入力されるデータの文字コードを指定 $body = decode('sh…

Perl 5.8 での文字コードの取り扱い

perl - Encode 入門 perl - Encode 中級 perl/Encode - 7bit-jis != iso-2022-jp perl - no encoding; # whenever possible perl - use utf8; Perl 5.8.x Unicode関連

use utf8; とは?

utf8 ソースコード内に、UTF-8(か、UTF-EBCDIC)を有効/無効にするためのプラグマ Perl に script が UTF-8 で書かれているということを教える目的以外でこのプラグマをつかってはいけません。 本当に UTF-8 のソースコードを書こうとするのでないなら、 use …

RSSを読み込み、パースさせて、ファイルに保存する

サンプルを模倣。 read_rss.pl #!/usr/bin/perl use strict; use warnings; use LWP::Simple 'get'; use XML::RSS; my $rss = new XML::RSS; eval { $rss->parse(LWP::Simple::get('http://weather.livedoor.com/forecast/rss/index.xml')); }; # $@ は eval…

Perl の文字コード変換について

Perl は文字コードの取り扱いに難儀した印象が強かったけれども、再度 Perl に触れてみることにした。 2008-05-08 perl - Encode-2.25 Released! 2008-04-09 perl - Encode 入門 2008-05-08 perl - Encode 中級 2008-05-11 perl - 文字参照を(en|de)codeする…

Perl と UTF-8 と文字コードのメモ

後で読むので、リンクを残す。 Webページの文字コードをUTF-8にする方法

複数の文字コードを利用する難しさ

Google へ検索クエリーを送り、取得した HTML を表示する。 下記の2つのスクリプトを試してみた。最初のスクリプトは、ファイルの文字コードが EUC-JP。もうひとつは、UTF-8 とした。 最初のスクリプトは、入力されるデータは UTF-8 で、出力形式は EUC-JP …

意味不明のエラー 続

意味不明なエラーを調べてみたところ、エラーの内容を正確に把握していなかった。 実行スクリプトでエラーが起こっているのではなく、モジュール内でエラーが発生している。 Use of uninitialized value in substitution iterator at /opt/local/lib/perl5/s…

decode と encode 関数

明示的に説明をしている資料が見つからなかったが、もしかして下記の文が正解なのか? 標準入出力,標準エラー出力以外のデータについては,Encode モジュールの encode, decode 関数を使い,個別にエンコードを指定する必要があります。これは特にファイル…

不可解なところ

use encoding 'euc-jp'; 上記は、すべての文字列を EUC-JP で利用する宣言と理解した。しかし、 $content = decode('shiftjis', $content); # コンテンツのコード変換 なぜ、Shift-JIS で取り込んだテキストデータを、Shift-JIS にデコードをして出力するの…

書いたコード

#!/opt/local/bin/perl -w use strict; use LWP::Simple; use Encode; use encoding 'eucjp'; binmode(STDERR, ':raw :encoding(eucjp)'); my $id = shift @ARGV || '074'; # 引数の取得 # 外務省海外安全ホームページ my $url = "http://www.anzen.mofa.go.…

Perl の文字コード変換にはまる

文字コードの変換にいきなりつまる。 問題点を確認してみるが、わからずじまい。 あとで、下記のサイトを確認する。 perl 5.8における日本語コード変換のメモ Perl 5.8でUTF-8の文字コードを扱う Encode モジュール簡単な使い方