
����ϤϤä�����ä�Ǻ�ޤ������Ǥ�����Ƚ�꤬ۣ��ʾ��Ϥ��λݤò¤¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Î¤ï¿½ï¿½ï¿½Î¤ï¿½Better Practice�ǤϤʤ����Ȼפ��ޤ���
Matz�ˤä�(2007-01-03)�긵��calki��UTF-8�Ρ֡ա�������ʸ��(U+8BB)��ޤ२��ȥ꤬ʸ����������Τǡ� nkf-utf8�Υ������򸫤Ƥߤ��� �ɤ��⼫ưȽ���ͥ���̤�EUC-JP,SJIS,JIS,UTF-8�Ǹ��ꤵ��Ƥ��ơ� EUC���ϰ���˼��ޤ�ʸ����Ϥ��٤�EUC-JP�Ȥߤʤ����ȤˤʤäƤ��롣 �ǡ�UTF-8�Ρ֡աפ�EUC-JP�Ρ�»�פ�Ʊ���Х�����ʤΤ���
�㤨�С��ʲ���Ԥ��Ȥ˥�����Ƚ�ꤹ��ȡ��ʲ��Τ褦�ʷ�̤ˤʤ�ޤ���
son.utf8» » »Â» »Sonnkf-guess.rb
#!/usr/local/bin/ruby require 'nkf' CODES = { NKF::JIS => "JIS", NKF::EUC => "EUC", NKF::SJIS => "SJIS", NKF::BINARY => "BINARY", NKF::UNKNOWN => "UNKNOWN(ASCII)", NKF::UTF8 => "UTF8", } while file = ARGV.shift open(file).read.each do |l| puts CODES[ NKF.guess(l) ] end end
% ruby nkf-guess.rb son.utf8 EUC UTF8 UTF8 EUC
�¤Ϥ������Ǥϡ�Jcode.pm��Ʊ���Ǥ���
% perl -MJcode -nle 'print Jcode->new($_)->icode' son.utf8 euc-jp utf8 utf8 euc-jp
Encode::Guess�Ǥϡ��⤦��������������ò¤¤ï¿½ï¿½ï¿½È¤ï¿½ï¿½Æ¤ï¿½ï¿½Þ¤ï¿½ï¿½ï¿½
encode-guess.pluse strict; use warnings; use Encode::Guess; $\ = "\n"; while(<>){ my $enc = guess_encoding($_, qw/euc-jp shiftjis 7bit-jis/); print ref $enc ? $enc->name : $enc; }
% perl encode-guess.pl son.utf8 shiftjis or euc-jp or utf8 utf8 utf8 shiftjis or euc-jp or utf8
���Ƥ��̤ꡢȽ���ۣ�椵��̵���Ф����ϡ�guess_encoding()
��ʸ���������Ѵ����֥������Ȥ��֤��ΤǤ�����ۣ��ʾ��ˤϤ��λݤ�ʸ������֤��ޤ��������die()
�����ʤ���㳰���ꤲ�Ƥ����ΤǤ�������������ܤ���ƤȤ��륢�������Υ桼�������������ʥ֡����󥰤��Фƺ��λ��ͤˤʤäƤ��ޤ���
���ä����Ȥ��ꡢ������ʸ��������Ƚ��Ȥ����Τ�����Ū�ˤ��Բ�ǽ�ʤΤǤ���������Ǥ⤤���Ĥ����ܤȤʤ�ؿˤϤ���Ȼפ��ޤ���
- �᥿�ǡ�����إå����ʤɤ��������꤬����С���������Ѥ���
- �㤨�С�HTTP�ʤ�
Content-Type:
��charset=
��XML�ʤ������encoding=
�ʤɡ� - Encode::Guess�Ϥ����ޤǤϤ�äƤ��ޤ��󡣤������������Ǥ��ä�Guess�ǤϤʤ��Τǡ�
- ���줬�狼��С������ҥ�Ȥˤ���
- �㤨��ja�ʤ顢shiftjis,euc-jp,utf-8�����ˤ��롢�ʤɡ�
- Encode::Guess�ϡ����Τ���Υե졼�������󶡤���Ȥ����ͤ��Ǥ���
- Ƚ�꤬ۣ��ʾ�硢���λݤ����Τ�����Ȥߤ��Ѱդ���
- NKF����Jcode.pm�ޤǡ��ָ�ŵŪ�פ����ܸ�ʸ���������Ѵ��ץ������˷礱�Ƥ����Τ������λ��ȤߤǤ�����̩�ˤ�Jcode.pm��Ƚ��κ���򥪥֥������������˳�Ǽ���Ƥ��ơ��������Ф�API�⤢��ΤǤ��������ޤ����Ѥ���Ƥ��ޤ����Ф���Encode::Guess�ξ�硢ۣ��ʾ���ۣ����ä������Τ⤷�ޤ��������Τޤޥ������Ѵ����褦�Ȥ���ȥ��顼�ˤʤ�ޤ���
����ˤ��Ƥ⡢ruby��ʸ���������Ѵ���ɸ�ब̤����NKF�Ȥ����Τ����äȹͤ���Τ��Ȼפ��ޤ���API��NKF(1)�à¤ï¿½Ð¤ï¿½ï¿½Î¤Þ¤Þ¤Ç¤ï¿½ï¿½Þ¤ï¿½ï¿½ruby�餷���ʤ��Ǥ�����
Rails + SQLServer�ǥ����꤬���󥿥å������顼�ʷ� @ 2006ǯ12�� @ ratio - rational - irrational @ IDMPerl5�Ϥ衼�Ǥ��Ȥ��ʤ���Encode.pm�⤢�뤷���ޤ�����
��äȤ⡢���������ɤ�UTF-8�����줷�������ʤ��UCS(Unified Code Set)���餳���������ޤǼ��������礬���褿�Ȥ����Τ���¤ǡ�CSI(Code Set Independent)��ɸ�֤���ruby�Ȥ��ƤϤĤ餤�Ȥ������Ǥ⤳�����ä���ʤ�Ǥ�����ruby�ξ�硢���ۤȸ��¤Υ���åפ��Ǥ�������褦�ʵ������ޤ����ä�NKF���ڤ��ݤ�Ĥ���API�䡢ASCII�ʳ���ʸ����ƥ���ɽ������ɸ�àµË¡ï¿½ï¿½ï¿½Ôºß¤ï¿½ï¿½Ü¤Ë¤ï¿½ï¿½ï¿½È¡ï¿½
Dan the (En|J)code Maintainer
�������Ѵ��ޤǤǤ��ƤϤ���ƻȤ�ʪ�ˤʤ�Τˤ͡�