網頁

2012年4月6日 星期五

Working with Unicode in Ruby

ruby的irb中要顯示中文
輸入
irb> $KCODE = 'u'
就可以了

其它處理utf8字串的有
irb> require 'jcode'
irb> require 'rubygems'
irb> require 'unicode'

詳細參考 http://ideaharbor.org/notes/technical/working-with-unicode-in-ruby

2012年3月1日 星期四

wiki markup convert

使用Perl HTML-WikiConverter
安裝參考:http://cpan.uwinnipeg.ca/htdocs/HTML-WikiConverter/INSTALL.html
完整安裝:
  1. % perl -MCPAN -e 'install Bundle::HTMLWikiConverter'

部份安裝:
  1. cd /usr/ports/lang/perl5.8; make install clean
  2. perl -MCPAN -e 'install HTML::WikiConverter'
  3. perl -MCPAN -e 'install HTML::WikiConverter::MediaWiki'


轉換程式參考 http://en.wikipedia.org/wiki/Help:WordToWiki
mkdir convert_wiki; cd convert_wiki
vim convert.pl <- 貼入程式
  1.  #!/usr/bin/perl
  2.  #       html2mw - HTML to MediaWiki converter
  3.  use HTML::WikiConverter;
  4.  my $b;
  5.  while (<>) { $b .= $_; }
  6.  my $w = new HTML::WikiConverter( dialect => 'MediaWiki' );
  7.  my $p = $w->html2wiki($b);
  8.  # Substitutions to get rid of nasty things we don't need
  9.  $p =~ s/<br \="">//g;
  10.  $p =~ s/\ \;//g;
  11.  print $p;


vim wiki_page.html <- 貼入要轉wiki的html
  1. <h1>test</h1>
  2. <h2>test</h2>


perl convert.pl wiki_page.html
就出現轉換的結果。
  1. =test=
  2. ==test==

[Perl] 解決 Wide character in print with UTF-8 mode

print 出中文資料會出現 “Wide character in print at” 的 warning 訊息
解決方法在表頭加上以下。

use utf8;
binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');