一括表示

[No.13451] CSVファイル出力のフォーマット乱れ 投稿者:JA7FKF 佐藤  投稿日:2015/11/23(Mon) 11:27:25

メニューの複合条件と印刷でCSVファイルを出力した時に、フォーマットが乱れる
ことがわかりました。

たとえば、以下のように出力されるケースがあります。

JA7FKF,15/11/23,10:40J,59,59,21,SSB,,,J,"あいう えお・,岩手県一関市,CSV出力テスト,,0

12バイトのNAME欄に1バイト文字とマルチバイト文字を入力し、桁オーバーフローで
余分な文字が削除されたときに、マルチバイト文字の片バイトが残ってしまうケースで
発生します。
上記例では、残った片バイトとダブルコーテーションが一緒になってしまい表示不能
コードになってしまいます。そのため他のプログラムでCSVファイルを読み込んだとき
NAMEが単独で読み込めず、NAMEの後の項目と一緒の項目と判断されてしまう
ことがあります。

EXCEL出力も試みましたが、やはり正しく判断されていないようです。

この現象は、マルチバイト文字入力可能な項目全てにあてはまるかと思います。
全てをマルチバイト文字で入力すれば、問題ないかもしれませんが、実際には
シングルバイト文字を入力したいケースもあるかと思います。

このような場合、皆様はどのように対処されているでしょうか?

念のため、過去の投稿を検索してみましたが、同類のケースが見当たりませんでした
ので投稿させていただきます。


[No.13452] Re: CSVファイル出力のフォーマット乱れ 投稿者:JH1UVJ 井上  投稿日:2015/11/23(Mon) 12:11:00

> メニューの複合条件と印刷でCSVファイルを出力した時に、フォーマットが乱れる
> ことがわかりました。
>
再現出来ました。
氏名欄に半角と全角を混ぜて入力1と入力2では半角を5文字と4文字に
しています。

【入力1】12345あいうえおかきくけこ
 ↓
【Hamlog記録1】12345あいうえおかき
 ↓
【csv出力結果1】12345あいうえおかき・

※Hamlog記録ではゴミは見えませんがCSV結果では出てますね。

【入力2】1234あいうえおかきくけこ
 ↓
【Hamlog記録2】1234あいうえおかきく
 ↓
【csv出力結果2】234あいうえおかきく


半角文字が奇数の場合に発生しますね。

【2015/11/23(Mon) 12:38:18 投稿者により修正されました。】


[No.13460] Re: CSVファイル出力のフォーマット乱れ 投稿者:JH1UVJ 井上  投稿日:2015/11/23(Mon) 18:13:35

ちょっとだけ自分なりに検証してみましたがこんな認識でいいのでしょうか?

12あああああ
 
バイナリ表示
31 32 82 A0 82 A0 82 A0 82 A0 82 A0

123ああああ・

バイナリ表示
31 32 33 82 A0 82 A0 82 A0 82 A0 82 2C

入力した文字を12バイト取得して保存してるがCSV等に出力する時に
そのまま出力する。

出力された読み込むソフトが82を2バイト文字の先頭と認識するので
次の2C(,)をセット品として認識してしまう。

結果として82-2Cの認識できない文字があるので”・”表示になる。
また、2C(,)が一個取られるので全体のフォーマットがずれる。


[No.13461] Re: CSVファイル出力のフォーマット乱れ 投稿者:JG1MOU浜田  投稿日:2015/11/23(Mon) 18:30:17

愛用のCコンパイラ付属の標準ライブラリでは、Shift-JISをうまく認識していなかった
ということを、今さらですが、気が付きました。

Win32-APIの IsDBCSLeadByte()で十分でした。
Hamlog50.dllを差し替えてください。
http://hamlog.no.coocan.jp/mou/index.html


[No.13462] Re: CSVファイル出力のフォーマット乱れ 投稿者:JH1UVJ 井上  投稿日:2015/11/23(Mon) 19:30:08

> Hamlog50.dllを差し替えてください。

VISA,10で正常動作確認出来ました。
一時WIN10でおかしくなりましたが、フォルダごと移動して再試行でOKでした。
過去分はどうなるか検証出来ませんでした。(更新してしまった) m(__)m


[No.13464] Re: CSVファイル出力のフォーマット乱れ 投稿者:JA7FKF 佐藤  投稿日:2015/11/23(Mon) 20:35:48

早速対応いただいたようでありがとうございます。

私はWin7ProでVer5.25aのインストール版を使用していましたが、
http://hamlog.no.coocan.jp/mou/index.html
のHAMLOGW.ZIPのexe,dllを上書きしたら、文字化けが解消されました。

浜田OM、井上OMありがとうございます。


[No.13453] Re: CSVファイル出力のフォーマット乱れ 投稿者:jr1cpb/稲村  投稿日:2015/11/23(Mon) 13:45:13

当然ですね。
12バイトしか入らないところにそれ以上入れようとしても無理です。
csv出力時の問題ではなくて、データ入力時の問題ですね。
設定している桁数より多くの桁数の情報を入れる必要があるなら、入力可能な桁数の設定を大きくします。
想定される桁数よりちょっと大きめにすればよろしいかと、。


[No.13454] Re: CSVファイル出力のフォーマット乱れ 投稿者:JA9AOB 銅子  投稿日:2015/11/23(Mon) 14:25:17

>
> 念のため、過去の投稿を検索してみましたが、同類のケースが見当たりませんでした
> ので投稿させていただきます。

この問題と同様の不都合でRemarks1 2は浜田OMも気が付かれて修正された記憶があります。
同様の事がName QTH欄でも起きていると言うことですね。Hamlog入力処理のオバーフロー時の桁落ち処理の問題ですから、浜田OMにお願いしないと根本処置にはならなさそうです。
CSVファイルでやり取り等を頻繁にやっていますが、名前やQTH欄はあまり修正も加えることなくやっていますので、気が付かないで来たようですね。
とりあえずは、全角文字の半欠け部分を削除して綺麗に整理されて、CSV等に影響ないようにされておく事をお勧めいたします。


[No.13456] Re: CSVファイル出力のフォーマット乱れ 投稿者:JA7FKF 佐藤  投稿日:2015/11/23(Mon) 16:12:19

すでに浜田さんも気が付かれている問題なのですね!!

銅子さんのおしゃる通り、データ入力時に対処しないといけない問題であることは
認識していました。

とりあえずは、EXCELに取り込んで、項目の幅以上のデータがあるかどうか判断し
対象データを抽出し、1件づつ修正していきます。

浜田さんの手が空いた時に、対処していただければありがたい思います。


[No.13458] Re: CSVファイル出力のフォーマット乱れ 投稿者:JG1MOU浜田  投稿日:2015/11/23(Mon) 16:15:59

> とりあえずは、EXCELに取り込んで、項目の幅以上のデータがあるかどうか判断し
> 対象データを抽出し、1件づつ修正していきます。

たまに、QSOデータチェッカーをかけてみてください。
http://hamlog.no.coocan.jp/html/HID00084.html

Ver5.22cで対応したつもりでしたが、まだ漢字分断で保存できてしまいますね。

【2015/11/23(Mon) 16:17:37 投稿者により修正されました。】


[No.13459] Re: CSVファイル出力のフォーマット乱れ 投稿者:JA7FKF 佐藤  投稿日:2015/11/23(Mon) 16:48:00

浜田さん本人からの早々のリプライ恐縮しています。

データ修正時には、文字化けの対処していただいていることを確認しました。

1.データチェック機能で対象データを確認
2.対象データを修正画面に呼び出し
3.そのままSAVEをすることによって、化けている文字が半角スペースに置き換わる。

わざわざ、EXCELに出力しないで、対象データを上記手順で修正ことにいたします。
欲をいえば、データ入力時にも、処理していただければありがたいと思うところです。

皆様ありがとうございました。


[No.13455] Re: CSVファイル出力のフォーマット乱れ 投稿者:JH1GVY 森岡  投稿日:2015/11/23(Mon) 14:34:45
Re: CSVファイル出力のフォーマット乱れ (画像サイズ: 540×411 20kB)

御三方の指摘を総合すると、
1.オーバーフロー対策として桁数を増やす。
2.半角文字を偶数にする
3.MOUさんの対策を待つ