お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2007-03-05 11:44:15

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

GnomeのアプリとEmacs間でのコピーペーストで文字化け

水野です。
表題の通り、gedit や Firefox と Emacs 間で文字列をコピーペーストした際に、日本語が文字化けしてしまいます。

状況
Firefox で日本語のページを開き(ページの文字コードは関係ないようです)ドラッグして文字列を選択。
その後 Emacs 上でセンタークリックして文字列をペーストすると、張り付けられた日本語が化けてしまいます。
例えばこの入力フォームの上に書いてある「お知らせ」という文字は、Emacs 上では「^[$(B*CN$i$」となります。
また Emacs 上で日本語を入力し、同様にドラッグ&センタークリックで gedit や Firefox の入力フォームにペーストしても文字化けが発生します。
この場合も、Emacs のバッファの文字コードは関係ないようです。

ちなみに、gedit と Firefox の間や、Emacs 同士では問題なくコピーペーストが行えることから、Gnome(GTK?) と Emacs の間だけで何か問題があるのではないかと考えています。

# Vinelinux 4.1 では今現在この問題は発生していません
# ubuntu 6.06 でも大丈夫だったような気がします(うろ覚えですが、不具合のあった記憶はないです)

Emacs と Firefox 間で日本語文字のコピーペーストができている方がいらっしゃいましたら、設定例や回避方法等のアドバイスを頂きたいと思います。
よろしくお願い致します。

オフライン

 

#2 2007-03-06 03:02:10

dek
メンバ
登録日: 2007-02-12

Re: GnomeのアプリとEmacs間でのコピーペーストで文字化け

こんばんは。
環境変数LANGがja_JP.EUC-JPでなくja_JP.UTF-8であることを前提に話します。
mule-ucsが入っていることを確認の上、以下の設定を~/.emacsに記述しているか確認してみてください。

(require 'un-define)
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(setq default-coding-systems 'utf-8)

当方apt-getしたemacs21(21-4a-6ubuntu2)とmule-ucs(0.84.999+0.20050930-3)ですが
FirefoxからEmacs EmacsからFirefox両方とも問題ないようです。
デスクトップはとっととKDEにしてしまったためGNOMEアプリでどうだかは分かりませんが…。

#「日本語環境が快適なLinux」を標榜している(いた?)Vineは、インストール時から
#Emacsにたくさんの設定をしているため、
#そういうものが最初一切ないubuntuは面倒に思われるかと思います。UTF-8ですし。
#けどEmacsを使い込んでいくには結局必要となる知識ですので、
#Vineの~/.emacsがなにをしているか学習するチャンスと思って前向きに行ってくれると嬉しいです。
#私もVineから別ディストリに移行した際、Vineの~/.emacs他を眺めて勉強したクチです。

オフライン

 

#3 2007-03-06 10:22:43

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Re: GnomeのアプリとEmacs間でのコピーペーストで文字化け

水野です。リプライありがとうございます。

.emacs を見て書き換えてみたところ、問題が解決しましたので御報告します。

状況
mule-ucs はインストール済み。環境変数 LANG は ja_JP.UTF-8 でした。
.emacs の日本語関連では、以下の設定をしていました。
これは google で検索して、ubuntu の emacs で日本語を使うための設定を紹介していたブログからそのままコピペしたものです。

(require 'un-define)
(set-language-environment 'Japanese)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8-unix)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(setq file-name-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8)
(setq default-input-method 'japanese-anthy)

殆どは dek さんのリプライにある内容と同じですね。
ただ違うのが (set-clipboard-coding-system 'utf-8) というところです。
クリップボードがらみの問題ということで、この一行をコメントアウトしてみたところ、日本語のコピペが化けないようになりました。

# クリップボードのコーディングを UTF-8 に明示的指定をすると化けるってのもヘンな感じですが

オフライン

 

Board footer

Powered by FluxBB