[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[497] エクスポートの文字コードについて

いっち [2019/03/30 07:48:36]

お世話になります。
エクスポートについて、質問します。

尚、私はCassavaの設定を、下記にしています。
文字コード
・ ロード時に文字コードを判別する
・ UTF-8を優先して使用する

----------------------------------------------------------------
まず始めに、Cassavaを起動して何か書いて、csvで保存し終了します。
但し、文字には✓(チェック)、🙆(おっけー)、🙅(ダメ)などの
シフトJISでは利用できない文字を含めます。

Cassavaで再度そのファイルを開いた時、文字化けなくきちんと開けます。
きちんと開けたファイルを、エクスポートしてみます。
エススポートに使うマクロは、下記を利用しました。

Cassava標準の
html.cms

Cassavaのホームページで公開されている
quote.csv.cms
cols.csv.cms
asukaze.tsv.cms

たいていの場合、エクスポートすると、シフトJISで保存され、
シフトJISでは利用できない文字が ? になります。

但し、UTF-8で保存され、シフトJISでは利用できない文字も
問題ない時が「たま」にあります。

「いつも確実」にUTF-8で保存され、シフトJISでは利用できない文字も
問題なくエクスポートするには、どうすればよいでしょうか?

尚、エクスポートのコマンドからエクスポートを実行させるより、
マクロからエクスポートを実行させる事の方が、私は多いです。

----------------------------------------------------------------
過去の記事
[92] エクスポートの文字コード
にて、解決しているはずの問題ですが、
私は現在、Cassavaの最新バージョンのVer2.0.5でしか動作しない
エクスポート用のマクロを書いています。

----------------------------------------------------------------
よろしくお願い致します。

Re: [497] エクスポートの文字コードについて

あすかぜ [2019/03/30 23:08:38]

ご指摘ありがとうございます。
こちらでも問題を確認しました。原因を調査してみます。

当面の間はバージョン 1.9 用にエクスポートマクロを書き直していただくしかなさそうです。
すみませんがよろしくお願いいたします。

Re: [497] エクスポートの文字コードについて

いっち [2019/03/31 00:00:38]

お返事ありがとうございます。

これまで、どのようにマクロを組んだら実現できるだろうと、ずっと考えていたものが、
Ver2.0.5なら、簡単にマクロを組めました。

私の場合「シフトJISでは利用できない文字」の利用は、「限られた数文字」だけなので、
当面の間は、エクスポート前に、文字を置換しようと思います。

Re: [497] エクスポートの文字コードについて

あすかぜ [2019/03/31 22:58:58]

不具合の原因が(おそらく)特定できたので、近いうちに修正したいと思います。
2.0.5 での回避方法ですが、Export() の実行前もしくはエクスポートマクロの先頭で

CharCode();

という一文を実行することで保存時文字コードがエクスポートマクロに反映されそうです。
試してみてください。
お手数おかけしてすみませんが、よろしくお願いします。

Re: [497] エクスポートの文字コードについて

いっち [2019/04/01 05:42:09]

おはようございます。
試していました。

CharCode();
という一文をエクスポートマクロの先頭に入れました。
下記のようになりました。

【テスト1】

1. エクスポートしたいcsvをCassavaで開く。

2. エクスポートを実行する。

3. エクスポートしたファイルは、UTF-8で保存され、文字化けは発生しません。

【テスト2】

4. テスト1を実行後、エクスポート前のcsvを上書き保存する。

5. 再びエクスポートを実行する。

6. Unicodeの文字のマッピングが、ターゲットのマルチバイトコードページに存在しません
というメッセージが表示される。

7. その後作られているファイルは、文字化けしています。

【テスト3】

4. テスト1を実行後、エクスポート前のcsvを上書き保存しないで再びエクスポートを実行する。

5. ○○○.csvへの変更を破棄しますか?
というメッセージが表示される。

6. メッセージに対して、「はい」もしくは「いいえ」を選択する。

7. いずれを選択しても、その後作られているファイルは、文字化けしています。

-------------------------------------------------

上記のようになりました。

Re: [497] エクスポートの文字コードについて

あすかぜ [2019/04/01 08:41:58]

たしかにエクスポートマクロ中で CharCode(); を実行するとエクスポートマクロ終了時に文字コード設定がおかしくなってしまいますね。すみません。
そのあたりもバージョンアップ時に修正したいと思います。

エクスポートマクロ内ではなく、Export(...) を呼び出す側のマクロで Export(...) の前に CharCode(); を実行すればこの問題は発生しないのではないかと思います。
(その場合、通常のメニューからエクスポートを実行すると文字化けしますが。。。)

Re: [497] エクスポートの文字コードについて

いっち [2019/04/01 17:26:16]

>エクスポートマクロ内ではなく、Export(...) を呼び出す側のマクロで
>Export(...) の前に CharCode(); を実行すればこの問題は発生しないのではないかと思います。

何度か、繰り返して実行してみました。
私が確認してみた限り、その通りでした。

念の為、ご報告致します。

Re: [497] エクスポートの文字コードについて

あすかぜ [2019/04/07 17:47:39]

修正版としてバージョン 2.0.6 を公開しました。
回避用の命令を入れなくても保存時文字コードがエクスポート時に適用されるはずです。
よろしくお願いします。

Re: [497] エクスポートの文字コードについて

いっち [2019/04/07 20:48:08]

確認致しました。
Ver2.0.6 ありがとうございます。

スレッド一覧に戻る返信