ファイルにエンコードを記憶させる方法はNo.04776
SI さん 04/03/15 19:49
 
質問を書いている途中になぜか解決しました。
とりあえずの情報共有です。

たとえば、SHIFT-JISで書いた文書をAlt+F-D-Dで欧文に変換します。
保存するさいのエンコードの種類に欧文を選びます。次に開くと、
エンコードはSHIFT-JISのままの場合とそうでない場合があります。
エンコードを変換した場合、それをそのままファイルが覚えてくれ
るような保存方法はあるのでしょうか。

どういう場合にエンコードが欧文に変わり、どういう場合に
SHIFT-JISのままかということが分かりません。

ファイルはSHIFT-JISで書いたものの、日本語は使っておりません。

と書いたところで、「その他」-「動作環境」-「エンコーディング2」
で「保存するときのエンコードの種類関連」で「XML宣言の自動認識」
のチェックをオフにすると、エンコードが記憶されるようになりま
した(違うファイルで数回やりました)。正直言って事情・理由は分
かりませんが、ひとまず解決です。

ちなみに、ヘルプファイルにあるような、

    編集中のファイルの一行目が<?xml encoding="..">という
    ような行であった場合、encodingの部分を解析します。
  「名前を付けて保存」のダイアログの「エンコードの種類」
    に解析したものをあからじめ入れるようにします。上書き
    保存のときは関係ありません。

xmlの宣言文は1行目にも、どこにもありません。
 
使用環境は
  windows xp pro、秀丸4.10ベータ22です。

お騒がせしました。

SI

[ ]
RE:04776 ファイルにエンコードを記憶させNo.04777
SI さん 04/03/15 19:54
 
失礼しました。解決したと思ったのは勘違いだったようです。

「XML宣言の自動認識」のチェックをオフにしても、いくつかの
ファイルではエンコードが記憶されていませんでした(SHIFT-JIS
のままでした)。

どのような場合にエンコードが記憶されないのか、うまく状況
を伝えられているか分かりませんが、何か参考に
なりますことがありましたら、ご教示ください。

SI


>質問を書いている途中になぜか解決しました。
>とりあえずの情報共有です。
>
>たとえば、SHIFT-JISで書いた文書をAlt+F-D-Dで欧文に変換します。
>保存するさいのエンコードの種類に欧文を選びます。次に開くと、
>エンコードはSHIFT-JISのままの場合とそうでない場合があります。
>エンコードを変換した場合、それをそのままファイルが覚えてくれ
>るような保存方法はあるのでしょうか。
>
>どういう場合にエンコードが欧文に変わり、どういう場合に
>SHIFT-JISのままかということが分かりません。
>
>ファイルはSHIFT-JISで書いたものの、日本語は使っておりません。
>
>と書いたところで、「その他」-「動作環境」-「エンコーディング2」
>で「保存するときのエンコードの種類関連」で「XML宣言の自動認識」
>のチェックをオフにすると、エンコードが記憶されるようになりま
>した(違うファイルで数回やりました)。正直言って事情・理由は分
>かりませんが、ひとまず解決です。
>
>ちなみに、ヘルプファイルにあるような、
>
>    編集中のファイルの一行目が<?xml encoding="..">という
>    ような行であった場合、encodingの部分を解析します。
>  「名前を付けて保存」のダイアログの「エンコードの種類」
>    に解析したものをあからじめ入れるようにします。上書き
>    保存のときは関係ありません。
>
>xmlの宣言文は1行目にも、どこにもありません。
> 
>使用環境は
>  windows xp pro、秀丸4.10ベータ22です。
>
>お騒がせしました。
>
>SI

[ ]
RE:04777 ファイルにエンコードを記憶させNo.04784
秀丸担当 さん 04/03/16 18:32
 

>「XML宣言の自動認識」のチェックをオフにしても、いくつかの
>ファイルではエンコードが記憶されていませんでした(SHIFT-JIS
>のままでした)。
>
>どのような場合にエンコードが記憶されないのか、うまく状況
>を伝えられているか分かりませんが、何か参考に
>なりますことがありましたら、ご教示ください。

テキストファイルには、エンコードの情報を書き込むことができません。

エンコードの種類を欧文にして保存しても、次に開くときは、ファイルの内容を
解析して判断するしかありません。
秀丸の場合は、[その他]-[動作環境]-[ファイル]-[ヒストリ]-[ヒストリから開
くときは前回のエンコードの種類で開く]がチェックされている場合、ヒストリ
から開くときに限って前回保存したエンコードの種類を覚えています。

普通のアルファベットと数字だけのファイルの場合、欧文にして保存しても、フ
ァイルの内容が特徴的なことが無ければ、欧文で保存したのかShift-JISで保存
したのか、判断する手段はありません。
秀丸の場合、英数字だけのファイルの場合、[その他]-[動作環境]-[ファイル]-
[エンコーディング1]-[標準のエンコードの種類]で指定されたエンコードの種類
が適用されます。

英数字だけでなく、欧文として特徴のある文字や、Shift-JISとして特徴のある
文字が含まれていれば、判断することができます。
英数字だけであっても、XML宣言やHTMLのmetaタグなどで判断することもできま
す。

[ ]
RE:04784 ファイルにエンコードを記憶させNo.04786
SI さん 04/03/16 19:09
 
了解しました。

エンコードごとに設定を変えられたらいいなあと思っていました
が、ファイルの拡張子の種類を増やすことで対応するという方法
を採るか、

>英数字だけでなく、欧文として特徴のある文字や、Shift-JISとして特徴のある
>文字が含まれていれば、判断することができます。
>英数字だけであっても、XML宣言やHTMLのmetaタグなどで判断することもできま
>す。

もしくは、この辺のものを仕込んでおくという手ですね。若干面倒
ですが、一番確実のような気がします。

どうも丁寧な回答をありがとうございました。

SI

[ ]