例えば、
double matAvrDiagElements(int a[3][3]){
double b=0; /*変数bを初期化する。*/
int i;
というプログラムを1つ目のファイルに書いていて
同じ内容をそのまま別のHTMLファイルにコピーしたら、
double matAvrDiagElements(int a[3][3]){
double b=0; /* b */
int i;
このようになり、日本語表記の部分だけ消えるという現象に遭遇しました。
何が原因ですか?また、どうやったら解決できますか?
同じ内容の日本語をコピーできずに別のファイルに書き直すとなると、めんどくさくてしょうがないです。
どうか教えてください。UbuntuでEmacsを使って作成しています。
何らかの原因で二つのファイルのエンコーディングに違いがあり、うまく貼り付けることができなかったのではないかと思います。
Emacsではファイルのエンコーディングはバッファの左下に表示されます。「-E:--」であれば日本語EUCでファイルは保存されています。「E」の部分が「J」であればJIS、「S」であればShift-JIS、「U」であればUTF-8です。二つのファイルのエンコーディングを確認してみてください。
もしエンコーディングが異なるようであれば、ファイルの保存に用いるエンコーディングを変更します。
保存に用いるエンコーディングを変更するには、[C-x RET f]を押下します。画面下にエンコーディングの入力を求めるプロンプトが表示されるので、例えばUTF-8で保存したければ「utf-8」と入力しリターンキーを押下します。Shift-JISであれば「sjis」と入力します。
保存用エンコーディングの設定が済んだら、ファイルを[C-x C-s]で保存します。
これでアクティブなバッファの内容が好みのエンコーディングで保存できました。
余談ですが、HTMLファイルに「<!-- -*- coding: utf-8 -*- -->」のような、表示されないコメントを挿入しておくと、Emacsは紫色の部分を認識し、HTMLファイルをそのコメントのエンコーディングに従って保存/表示するようになります。
興味があれば「Emacs エンコーディング」「Emacs エンコーディング指定プラグマ」で検索することをお薦めします。
コメント(1件)
参考サイトのフォーラムとか参考になるかも?
http://d.hatena.ne.jp/khiker/20080404/emacs_character_code
参考にならなかったとしても、これらのように
どういう条件下で問題が出るのか
まずはその洗い出しから始めたほうがよさげ
Emacs → Emacsへのコピー ×(質問内容)
Emacs → 他ソフトへのコピー ?(未確認)
他ソフト → Emacsへのコピー ?(未確認)