― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 10 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2009年4月26日(日) 19:01 
オフライン

登録日時: 2007年12月21日(金) 13:42
記事: 19
Firefox 3.0.9 で table2clipboard 0.2.1 を使用しています。

「表全体をコピー」するとExcelに貼り付けられて便利なのですが、コピーするテーブル中の    がおかしな事になります。

Excel2003 に貼り付けた場合、まずは正常に空白になりますが、そのシートをCSVで書き出すと"?"に化けてしまいます。

CSV出力したら普通の空白になって欲しいのですが、table2clipboard 側で対処できないでしょうか?


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年4月27日(月) 23:04 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
zxcv さんが書きました:
「表全体をコピー」するとExcelに貼り付けられて便利なのですが、コピーするテーブル中の    がおかしな事になります。

Excel2003 に貼り付けた場合、まずは正常に空白になりますが、そのシートをCSVで書き出すと"?"に化けてしまいます。

CSV出力したら普通の空白になって欲しいのですが、table2clipboard 側で対処できないでしょうか?

table2clipboard 側で、たとえば NBSP を普通のスペースに置き換えるといったような回避策を入れることは技術的には可能ですが、それを table2clipboard 側に取り込むかどうかは作者の判断でしょうし、そもそも作者にその要望を伝えないことには始まらないでしょう。

Excel は CSV で書き出す際、デフォルトの文字コードに変換した上で書き出す仕様になっているようですが、日本語版 Windows のデフォルトの文字コードの CP932 では NBSP に相当する文字を表すことができないと言うことと、相当する文字がないときには ? で置き換える仕様になっているのが原因です。
たとえば英語版 Windows のデフォルトの文字コードの CP1252 等では NBSP に相当する文字を表すことができるので、? に化けて困ると言った問題は英語圏等の人には無縁な話です。
日本語圏等で困っている人が教えてあげないことには、作者はいつまでたってもこの問題に気付かないままだと思います。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年4月29日(水) 15:24 
オフライン

登録日時: 2007年12月21日(金) 13:42
記事: 19
ご回答ありがとうございます。

Excelの中で表示はスペースでも実は単なるスペースでは無いところまでは予想していましたが、英語では問題なしだったとは。

Excel内部で単なる空白と区別する有用性が疑問だったのですが、英語版では無害性の方が前面に出てくるという訳ですね。

# だって、CSVを読んだ時に元々の「?」と区別できないのは困りますものね。

Excel2003 には「Unicodeテキストで出力」とかいう機能もある様なので、もう少しあがいてみます。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年4月30日(木) 21:30 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
zxcv さんが書きました:
Excel内部で単なる空白と区別する有用性

Excel 内部に限ったことではありませんが、わざわざ区別しているというわけではなくて、もともと別の文字だというだけです。

たとえば日本語環境では全角スペースは半角スペース 2 つ分のように見えるかもしれませんし、保存しても化けたりはしませんが、別の環境では全角スペースは扱えない場合があります。
それはわざわざ区別しているわけではなくて、もともと別の文字だからです。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年5月04日(月) 21:19 
オフライン

登録日時: 2007年12月21日(金) 13:42
記事: 19
たびたびすみません。

やっぱり、「 」を U+0020 以外にマッピングする事を「わざわざ区別している」と考えるのはおかしいでしょうか?

table2clipboard では無いFirefoxの文字列コピーの場合には、Excel2003 経由で CSV に書き出しても空白になる様ですが。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年5月04日(月) 23:41 
オフライン

登録日時: 2007年9月21日(金) 15:55
記事: 68
zxcv さんが書きました:
table2clipboard では無いFirefoxの文字列コピーの場合には、Excel2003 経由で CSV に書き出しても空白になる様ですが。

私の環境では、どちらも U+00A0 になります。
    *Windows XP
    *Firefox 3.0.10
    *Excel 2002
本件は、Firefox の問題でも Table2Clipboard の問題でもなく、CSV 形式での出力時に Unicode⇒CP932 変換&CP932 で表現できない文字を「?」に変換している Excel の問題のように思えます。

zxcv さんが書きました:
table2clipboard 側で対処できないでしょうか?

Excel に貼り付けた段階で CP932(で表現できる文字)になって良いのなら貼り付ける形式を「テキスト」にすれば良いと思うんですが、それでは駄目なんでしょうか?

# 貼り付け時と保存時で変換方法が違うというのはおかしいような気もしますが、(Excel 2002 では)現状そうなっているようなので…


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年5月06日(水) 22:27 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
zxcv さんが書きました:
やっぱり、「 」を U+0020 以外にマッピングする事を「わざわざ区別している」と考えるのはおかしいでしょうか?

  は U+00A0 です。これは HTML の仕様で決まっています。

zxcv さんが書きました:
table2clipboard では無いFirefoxの文字列コピーの場合には、Excel2003 経由で CSV に書き出しても空白になる様ですが。

Firefox の文字列コピーというのは、HTML を解釈した結果の表示からコピーした場合のことでしょうか。
それはレイアウト結果なので、例えば HTML 中の改行等もレイアウト結果では普通の空白になります。

table2clipboard は、全く知らないのでもし勘違いしていたら申し訳ないのですが、ちょっとググってみた感じでは Copy table element 等と書いてあったので、レイアウト結果をコピーしているのではなく HTML 中の table 要素(つまりまだレイアウトされていない)をコピーしているのではないでしょうか。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年5月16日(土) 21:34 
オフライン

登録日時: 2007年12月21日(金) 13:42
記事: 19
# すみません、書き込んで頂いたのに気が付かなくて、えらく日数が経ってしまいました。

> HTML の仕様で決まっています。

クリップボードにコピーする時点で、HTMLの世界では無くなると思います。 HTMLを規格に従って表示したものと同じ体裁を再現するには何にマッピングすべきかで考えるべきと思うのですが、いかがでしょうか。

そういう意味では、連続する空白と改行は 1個の u+0020 にしてもらう必要もありますね。 (実際どうなるかは試してません)


> Firefox の文字列コピーというのは、HTML を解釈した結果の表示からコピーした場合のことでしょうか。

表示画面中のテーブル中の文字列をマウスで選択してコピーした場合です。 HTMLソース表示やFireBugのDOM表示からじゃ無いです。「HTML を解釈した結果の表示」の意味が良く判らないんですが、答えになっていますか?


本当は MS-Excel を UTF-8 のCSV出力できる様に直してもらうべきなのは重々承知していますが、まるで望みがなさそうなので、ついこちらに投げてしまいました。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年5月18日(月) 22:22 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
zxcv さんが書きました:
> HTML の仕様で決まっています。

クリップボードにコピーする時点で、HTMLの世界では無くなると思います。

クリップボードには HTML を入れることもできます(し、プレーンテキストを入れることもできますし、リッチテキストを入れることもできますし、さらに他の物を入れることもできます)ので「HTMLの世界では無くなる」とは言えません。
表の形でペーストできるようにするには、テキストだけでなくさらに何らかの情報が追加された形でクリップボードに入れないといけませんが、Table2Clipboard の場合は表の形にするのは HTML でクリップボードに入れています。(さすがに Table2Clipboard を知らずに話を続けるのは無理になってきたのでやっと落としてきました。)

zxcv さんが書きました:
そういう意味では、連続する空白と改行は 1個の u+0020 にしてもらう必要もありますね。 (実際どうなるかは試してません)

HTMLを規格に従って表示したものと同じ体裁を再現するには何にマッピングすべきかで考えるべきと思うのですが、いかがでしょうか。

Table2Clipboard としては HTML で表をクリップボードに入れていますので、表のペーストの場合の話であればそういった処理はペーストする側か、あるいはクリップボード機構(Windows のシステムの一部)の仕事です。

一方、Table2Clipboard はそれだけでなくテキストエディタ用に区切り文字付きテキストもクリップボードに入れてますが、こちらの場合については Table2Clipboard が処理すべきところをサボっているようにも見えます。

zxcv さんが書きました:
> Firefox の文字列コピーというのは、HTML を解釈した結果の表示からコピーした場合のことでしょうか。

表示画面中のテーブル中の文字列をマウスで選択してコピーした場合です。 HTMLソース表示やFireBugのDOM表示からじゃ無いです。

HTML を解釈した結果の中の、プレーンテキストをクリップボードに入れているわけですよね?
その場合は、HTML からプレーンテキストにするのは Firefox の仕事なので、HTML をクリップボードに入れる場合とは別の話になります。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年5月18日(月) 23:09 
オフライン

登録日時: 2007年12月21日(金) 13:42
記事: 19
> 表のペーストの場合の話であればそういった処理はペーストする側か、あるいはクリップボード機構(Windows のシステムの一部)の仕事です。

なるほど、そういう事でしたか。 良くわかりました。

ありがとうございます。 お手数をおかけしました。
[/quote]


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 10 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[9人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean