動機
剛好遇到直接用notepad++轉utf-8不完全
導致程式出錯
想法
後來發現是不正常的換行結尾導致
那麼就動手用perl把不正常的結尾清除,順便把檔案編碼轉一轉好了
這次一樣用個人最新寵兒 Perl 來搞定 ( 不給用c#,整間公司都linux好崩潰 )
解決方案
讀出一行轉一行,直到結束為止
動手做
首先要有perl 的 Encode
encode doc
安裝方式不講了,就perl make make install
直接上code
#!/usr/bin/perl use Encode qw/encode decode/; my $input = './class.java'; my $output = './class.java'; open ($fh,$input); open ($fo,">".$output); while ($row = <$fh>){ $row = &rtrim($row); $row = encode("utf-8",decode("big5",$row)); print $fo $row."\n"; } close($fh); close($fo); sub ltrim { my $s = shift; $s =~ s/^\s+//; return $s }; sub rtrim { my $s = shift; $s =~ s/\s+$//; return $s }; sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };一樣請出好用的 trim 三兄弟
搞定!
留言
張貼留言