今回はソフトの話です(備忘録をかねて)
ファイル読み書きなど外部から取り込んだ日本語などの文字は、PC内部用の文字コードに変換させないと、日本語処理はうまく行きません。
例えば
$str =~ s/ホゲ//; 日本語の判定 use utf8;を使ってUFT8の宣言をする。 すると、外部入力の際、文字をUTF8にデコードして内部コードに変換する必要があります
そうしないと文字化けが起こります
取り込んだ時にデコードし書き込むときにエンコードします。
では、ネットでフォームに入力した文字はどうなるか?
テストしました、Encodeモジュールを使って
my $p = Encode::decode('utf-8',$cgi->param('cyome')); すると、実行時エラーになってしまう。ということは必要ないと言うことと理解した
まぁ、作成中のiLogMobileについては、入力フォームからの文字判定や文字化けもなく正常に動いているので問題ないとおもう
この文字判定については結構神経を使う。
ソフトを組むときには、各ブロック毎に作成し動作を確認しながら作業を進めていく。
既に作成してある過去のブロックも流用しながらの作業
これは、自作工作で、過去の作成した実績ある回路を組み込むのとよく似ている。
ブロックダイヤグラム:ソフトではモジュールって読んでいる
共通点が沢山あって面白い・・・