4. 中国語だけ制限があるのはなぜ?
NetCommons は文字コードに“ UTF- 8” を使用
しているが、インポートとエクスポートを行う
際に強制的に“ Shi f t- JI S” に変換されてしま
う。
英語と日本語の文字(英数字 ひらがな カタカ
ナ 漢字(新体字))は UTF- 8 にも Shi f t- JI S
にも含まれている。だから変換されても問題が
少ない。
しかし中国語の簡体字は Shi f t- JI S に含まれて
いないため、変換後に文字バケする。
5. なぜ Shi f t- JI S に変換する?
日本語版 Excel は UTF- 8 のファイルを開け
ないから。( Shi f t- JI S なら開ける)
※1 Net Commons はデファクトスタンダード環境での使用を前提としている。なので
日本語版 Excel で開けることが重要。
※2 OOO ( OpenOf f i ceOrg )の表計算ソフト“ Cal c” なら UTF- 8 開ける。・・だ
が使っている人は少ない。
6. 日本語モードにも少しだけある
Shi f t- JI S 変換問題
UTF- 8 にしか含まれていない漢字はイン
ポート エクスポート時に文字化けす
る。
例)
崎 > 﨑 (たちざき)
高 > 髙 (はしごだか)
7. 対応方法~1 直接 MySQL 操作
NetCommons のインポート/エクスポート機能を使
わない。
“ phpM d mi n” や “ SQL Bud d y”
yA ( SSH ログインが使える環境なら直接コマンド等も)
を使って M ySQL の各テーブルを直接インポート/エクスポー
トする。
※ ただしデータベース ( MySQL) の知識がないと難しい
8. 対応方法~2 - 1 NetCommons 改造
UTF- 8 のままでエクスポートするよう汎用 DB モジュールを改造する
webappmod ul es mul ti d atabas evi ewed i texportExport. cl as s . php
の 90 行目 ( ※NC2. 4. 0. 0 の場合 )
$thi s - > cs vM n- > ad d ( $d ata) ;
ai
↓
$thi s - > cs vM n- > charSet = _CHA
ai RSET; この行を追加
$thi s - > cs vM n- > ad d ( $d ata) ;
ai
※1 _CHARSET は‘ UTF- 8’ の定数
※2 コモンズネット 理事 寺口 様から提供いただいた情報を元にしています
9. 対応方法~2 - 2 NetCommons 改造
UTF- 8 のままでインポートするよう汎用 DB モジュールを改造
する
webappmod ul es mul ti d atabas eval i d atorVal i d ator_Upl oad Cs v. cl a
s s . php
の 67 行目
$d ata[ $c] = mb_convert_encod i ng( $d ata[ $c] , "UTF- 8", "SJI S") ;
↓
$d ata[ $c] = $d ata[ $c] ;
インポートの改造箇所に関しては各モジュールの
* . php ファイルを“ SJI S” で検索すれば、ほぼ
特定できます
11. 顧客へ納品する場合
改造するだけでなく+ α が必要
顧客側 PC ( W nd ows )に OOO をインストールし
i
てもらう。
W nd ows 用の置換ツールや CSV処理ツールを活用
i
する。(社内 or 顧客)
12. ツールの紹介(置換)
Repl - A on. NET 1 . 0. 4 ( http: //www. s i rmi l es . com/repl _ace/
ce
)
W nd ows 2000/XP/Vi s t a/( 7) で動作する、テキストファイルの文字列一括
i
置換アプリケーション。
テキストファイルなら何に対してでも使えるので . cs v でも . s ql でも同じ
処理設定が適用可能。
複数のファイルに対してあらかじめ決めておいた置換処理を行うことがで
きる。
複数行に対しての置換処理もできるので、 Ver. UP 時のソース改造処理など
にも応用できる。
内部処理が Uni cod e 化されているので中国語(簡体字/繁体字)にも対応
。
置換前と置換後の文字コードを指定できるので文字コード変換の目的にも
利用可。
旧バージョンの Repl - A ce4. 2. 2 はバッチ処理に対応しているので Uni cod e
が必要なければこちらも便利。
13. ツールの紹介( CSV処理)
D2 (受信メールを解析して CSVファイルにする)
CSV M l er( CSVファイルを元にメールを送信する)
ai
nextCSV( cs v ファイルの自動加工)
mai l One (受信メールを元にプログラム実行)
上記すべてはバッチ処理に対応( ht tp: //www. yamamotot akas hi . com )