[61] カンマに認識されてしまうようです。
kotobukiko [2007/04/05 03:19:00]
最新版のCASSAVAを使わせて頂いています。
大変な通用なツールを公開して頂き、感謝しています。
一つお尋ねします。
テキストエディターで「"<table width="400" border="0"...」となっているのをcassavaで開くと、
<table width=,400" border="0"...
と認識されてしまい、「<table width=」「400" border="0"...」と分割されてしまいます。
=の後ろの"が , に認識されているようなのですが、これはどこかで修復できますか?
「オプション...」の設定をいろいろ変更してみましたが解消できませんでしたので、お尋ねします。
" が追加されていく
kotobukiko [2007/04/05 10:08:00]
CASSAVAでcsvファイルを開き、編集、保存した後で、再度同じファイルを開くとHTMLの " が増えていきますが、これはCSVの仕様なのでしょうか?
1回目 width="400"
2回目 width=""400""
3回目 width="""400"""
Cassavaの「"」の扱いについて
あすかぜ [2007/04/06 00:28:00]
書き込みありがとうございます。
CSVでは、セル内のカンマなどを扱うために「"」を特別な文字として扱います。
しかし、「"<table width="400" ...>"」と書くと、「"」が4箇所に出てくるためどれとどれが対応するものなのかわかりません。
Cassavaの場合には、出てきた順番に最初の「"」と次の(400の前の)「"」を対応付け、2番目の「"」で対応が完結したためそこでセルが区切れると判断してしまいます。結果、「width=」とそれ以降でセルが変わることになります。
このような問題を防ぐため、CSVの仕様で、セル内の「"」は「""」で表す、という規則が決まっています。今回の例で言えば、正しいCSVデータは「"<table width=""400"" ...>"」です。これをCassavaで読み込めば期待通りの内容になると思います。
Cassavaでは読み込み時に不正な「"」があった場合に適当にセルを分割して読み込んでしまいますが、書き込み時にはこのルールに従って出力するので「"」が増えるように見えます。ただし、Cassavaで保存したファイルに手を加えずにCassavaで読み込めば元通りに表示されると思います(本当にそうなっていないならばバグですが・・)。
「""」という表記が汚いと思う場合には、オプションで「全てのセルを""で囲まない」とすることで「"」をそのまま読み書きするようになります。この場合はセル内の「,」やセル内改行は使えません。
なお、CSVの正確な仕様についてはRFC4180を参照してください。
http://www.kasai.fm/wiki/rfc4180jp
了解しました。
kotobukiko [2007/04/06 01:04:00]
あすかぜさん
ご丁寧な説明ありがとうございました。
よく理解できました。
"<table width=""400"" ...>"で一つのカラムに表示されることを確認しました。
便利さに頼り切ってCSVの仕様を調べることもなしにCassavaを使っていました。これからもっと勉強します。
役に立つツールを公開して頂いたこと本当に感謝しています。
Re: 了解しました。
あすかぜ [2007/04/06 09:07:00]
kotobukikoさんの書き込みで仕様という言葉が出てきたので昨日のような返信をしてしまいましたが、CSVは昔から使われているのにRFCは1年くらい前に現状追認で出てきただけのドキュメントですし、ツールごとのクセも結構あるので、普通はRFCなど見ることはないですね。
Cassavaのヘルプに何も書いてなくてすみません。
とりあえず解決しているようで安心しました。
また何かあれば連絡してください。