文字コード変換できない文字No.02457
ぎんNaN さん 09/06/29 12:09
 
Unicodeで編集していたファイルを欧文として保存するときに、
文字コード変換できない文字がある
というダイアログが出ます(実際にはない)。
条件:ASCII以外の文字(0x80以上)が存在する
「はい」を選択して保存すれば以降は素直に保存することができることが多いですが、
たまにいつまでもダイアログが出ることがあります。

[ ]
RE:02457 文字コード変換できない文字No.02458
秀丸担当 さん 09/06/29 12:48
 
試しにいろいろしてみましたが、問題を確認することができませんでした。

Unicode(UTF-16)のファイルで、

abc1/4

という、「1/4」はUnicodeの文字コード0x00BCの半角に見える一文字で、合計4
文字のファイルを作ってみました。
そして、名前を付けて保存で、エンコードの種類を欧文にして保存してみました
が、警告は出ませんでした。
上記Unicodeのファイルに A の上に横棒が付いた文字(Unicodeの文字コード
0x0100)を挿入して、名前を付けて保存をしたら、「文字コード変換できない文
字が含まれています」の警告が出ました。
警告で「はい」を押すと、A の上に横棒が付いた文字は、ただの A (文字コード
0x0041)に変換されて保存されました。
ただし、「はい」を押した後に出てくる、

 「文字コード変換できない文字が含まれていたので、?マークや同義の文字など
に変換して保存しました。
 読み込みし直しますか?」

で「いいえ」(Enterでもいいえになります)を押すと、その後の上書き保存でも
また警告が出てくることになってしまうと思います。

この手順とは違う点や、文字コードなどを具体的に教えていただけると、何かわ
かるかもしれません。

[ ]
RE:02457 文字コード変換できない文字No.02459
いいじま さん 09/06/29 12:53
 
いいじま@秀丸ユーザです。

> 条件:ASCII以外の文字(0x80以上)が存在する

もしかして、0x80-0x9Fの範囲の文字を使っていませんか?
このへんのコードは、Windowsの欧文文字セットでは記号類が入っているのですが、
ISO-8859-*ではこの領域は欠番(制御コードが入る)であり、それを尊重して
Unicodeの規格でも欠番になっているのです。

ですので、もしかしたらその辺のコードが絡んでいるのかもしれません。

[ ]
RE:02458 文字コード変換できない文字No.02460
ぎんNaN さん 09/06/29 21:23
 
最初に引っかかった文字はCP1252で0xE9(´+e)です。

[ ]
RE:02460 文字コード変換できない文字No.02461
秀丸担当 さん 09/06/30 10:23
 

いろいろ試してみたところ、原因がわかりました。
Unicodeのときのフォントが日本語の文字セット以外のフォントになっていると、
言われているように警告が出ることがわかりました。
具体的には、Unicodeのファイルを開いているときのフォントがMS ゴシックで
は警告は出ませんでしたが、Courier New の場合は警告が出ました。
言われている通り、これはバグでした。ご指摘ありがとうございます。将来バー
ジョンで修正させていただきます。

警告が出ても「はい」を押すと、そのまま保存することができました。
いつまでも警告が出続けることはありませんでした。
この点はもしかしたら別の問題かもしれません。
警告が出ることが多いとのことで、警告が出続けるというのはたまに起きないよ
うですが、もしまた起きることがあるようでしたら、お手数ですがこの点につい
てフォントや文字コードなどの情報を教えていただけると助かります。

[ ]
RE:02461 文字コード変換できない文字No.02474
ぎんNaN さん 09/07/22 12:47
 
8.00 beta にて問題が出ないことを確認いたしました。
ありがとうございました。

[ ]