みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
(環境)
FMS:macminiserver(OS X10.6:SnowLeopard)
FMP:Windows7(adv1台あり)
Windowsのアプリケーションで生成されたcsvファイルをコピーし、NASへ保存。
保存されたタイミングで、mac側にてAutomaterのフォルダアクションを利用して
保存されたcsvファイルをFMSのドキュメントファイルに取込み、FMSのスクリプトスケジュールで
FMにインポートさせることに成功しました。(対象レコード内と一致:更新、一致しない:追加)
ところが、そのcsvファイルには、氏名に使われる環境依存文字(崎:大→立、高:はしご高など)が使われており
文字化けして実用化に至っていません。
氏名の文字は、csv出力するアプリケーションでどうしても使わなければならず、
代用の文字とする事ができません。
根本的にOSが違うので、仕方のないことだと思うのですが、
この文字化けの解決策や根本的な解決方法はありませんでしょうか。
もしあるとすればどのような方法なのか教えて頂けると助かります。
ファイル起動時や更新の都度インポート(現在は3,000~4,000件程度ですが)するのは、処理の待ち時間が
都度発生してしまいロスが生じてしまうので、FMS側で簡単にできればと思って思考錯誤しているところです。
1文字ずつ、Unicode の該当文字へ置き換えていくしか有りませんね。Substitute() を使った計算フィールドを作り、そのフィールドをエクスポートすれば良いでしょう。
Offline
Shinさん
いつもありがとうございます。
>Unicode の該当文字へ置き換えて
すみませんUnicodeというのがよくわからず、
ググって調べてみましたが、やっぱりよくわからず…。
(概要はなんとなくわかるのですが、種類があるようで使い分けがよくわかりませんでした。)
とりあえずSubstitute()で下記の計算式を入れたフィールドを作成してみましたが、
文字化けした文字は、そのまま化けた状態でしか表示されませんでした。
Substitute ( 氏名 ; [ "濵" ; "濵" ] ; ["髙" ; "高"] ; ["濱" ;"濱"] ; ["﨑" ; "崎" ])
>そのフィールドをエクスポートすれば良いでしょう。
ということは、FM側でなくcsvをSubstitute()で加工するということでしょうか?
再度教えて頂けると助かります。
よろしくお願いいたします。
FM内でやるなら、化けた文字を正しい文字に置換するわけですが、化けた文字同士が区別可能かどうかが問題です。
csvの時点でUnicodeかMacのコードに直さないとだめそうな。
文字コードの問題でしょう。
>Windowsのアプリケーションで生成されたcsvファイル
このCSVファイルが怪しいですね。
おそらく
CSVファイルを「SHIFT-JIS」で作成しているのでしょう。
※この時点で、「髙(はしごたか)」「﨑(たつさき)」など、「SHIFT-JIS」に無い文字は、消えます。
>Windowsのアプリケーションで生成されたcsvファイル
をUTF-8等の「髙(はしごたか)」「﨑(たつさき)」に対応している文字コードで出力すれば、解決します。
Offline
shift-JISでも、大丈夫ですよ。MacOS では豆腐で表示されますが、コードの識別は出来ています。(FM7だけは駄目ですが、がんがん文句言ったら次で直って来ていた)
その豆腐のままでコピペして置き換えます。
Offline
Shinさん情報有り難うございます。
確認不足でした!
「髙(はしごたか)」「﨑(たつさき)」など、「SHIFT-JIS」 は、「SHIFT-JIS」に無いでは、無く「SHIFT-JIS」では、機種依存なのですね!
チョット調査してみました。
「髙(はしごたか)」をWin|SHIFT-JIS でエクスポート
Mac FMPで読み込み:文字化け
「髙(はしごたか)」をWin|UTF-8 でエクスポート
Mac FMPで読み込み:OK
でした。
なので、「髙(はしごたか)」は、SHIFT-JIS で Mac、Win 間のやりとりは、難しそうです。
やはりCSVをUTF-8にするのが、一番カンタンな修正方法なのでは?
もしくは、WinのFMPで読み込めば、解決しますね。
Offline
scripterさん、qb_dpさん、Shinさん
早速のレスありがとうございます。
qb_dpさんのおっしゃるとおり、
生成されたcsvはShift-JISで出力されたもので
これはアプリケーションの仕様となっているため文字コードを変えることは不可能でした。
ただ、csvファイルをUTF-8にするのが一番簡単?
とのアドバイスがありましたので、試してみたところ文字化けが解消しました!
やはりこれが私には一番簡単なようでしたので、
Windows側でVBAを活用してcsvファイルのUTF-8変換を自動化させて運用をしてみたいと思います。
おかげさまで無事解決することができそうです。
ありがとうございました。
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 517.47 KiB (Peak: 522.02 KiB) ]