unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alexander Kotelnikov <sacha@myxomop.com>
Subject: Re: converting between charsets
Date: Sun, 07 May 2006 23:40:23 +0400	[thread overview]
Message-ID: <84veshaajc.fsf@vinci.loc> (raw)
In-Reply-To: 87u082109z.fsf-monnier+emacs@gnu.org

>>>>> On Sun, 07 May 2006 08:43:56 -0400
>>>>> "SM" == Stefan Monnier <monnier@iro.umontreal.ca> wrote:
SM> 
>> After I switched to utf-8 as my basic environment encoding (on Linux)
>> I got need of converting some texts sometimes back to koi8-r.  Typical
>> task here is to convert outgoing mail to persons and newsgroups
>> hierarchies which do not understand multibyte encodings.]
SM> 
SM> Emacs always converts from/to the encoding you use.  So you don't really
SM> need to "convert from utf-8 to koi8", when sending email because, before the
SM> email is sent, it's not any more in utf-8 than in any other encoding (other
SM> than the internal encoding).
SM> I.e. all you need is to tell Emacs that when sending to newsgroups such and
SM> such, it should use koi8 rather than utf-8.  How to do that depends on the
SM> newsreader you're using.

I am using Gnus, it does not have such functionality, and the thing I
am going to do is to implement it. So, the thing I need to be able to
do is to convert from internal represintation to some code page
(mostly koi8-r).

>> Theoretically something like
>> (encode-coding-region (point-min) (point-max) 'koi8-r)
>> should work, but it does not.
SM> 
SM> I don't think that's true in theory.

Why?

>> Relevant lines in my ~/.emacs are:
SM> 
>> (set-language-environment "UTF-8")
>> (set-terminal-coding-system 'utf-8)
>> (set-selection-coding-system 'utf-8)
>> (setq default-buffer-file-coding-system 'utf-8)
>> (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0)
>> (setq default-input-method "cyrillic-jcuken")
SM> 
SM> Looks like you have some problems here.  Try to remove most of the lines
SM> (if your locale is using utf-8 already, you really don't need to do
SM> anything at all in your .emacs).
SM> At the very least try removing the set-selection-coding-system and
SM> set-input-mode.
SM> 
>> 1. Paste in X (from non-Emacs to Emacs) does not work correctly. It
>> seems to be broken in different ways for singlebyte and mutlibyte.
SM> 
SM> Probably caused by your set-selection-coding-system.
SM> 
>> 2. With my utf-8 setup non-ascii input does not work on terminal (for
>> example, when emacs is run in xterm as emacs -nw) when I switch input
>> with system means (X keyboard layout, console input mode), instead of
>> toggle-input-method.
SM> 
SM> Could be because of your set-input-mode.

I have started emacs without ~/.emacs and evaluated 
(setq default-input-method "cyrillic-jcuken")

What I got:
1. Paste into Emacs frame works strange: different from normal font is
used and on save I am asked in Minibuffer:
Select coding system (default euc-jp)
and I am shown *Warning* buffer with lines

Start of *Warning*
These default coding systems were tried:
  mule-utf-8
However, none of them safely encodes the target text.

Select one of the following safe coding systems:
  euc-jp shift_jis iso-2022-jp iso-2022-jp-2 x-ctext
  japanese-iso-7bit-1978-irv iso-2022-7bit raw-text emacs-mule
  no-conversion iso-2022-7bit-lock-ss2 ctext-no-compositions
  iso-2022-8bit-ss2 iso-2022-7bit-lock iso-2022-7bit-ss2
  tibetan-iso-8bit-with-esc thai-tis620-with-esc lao-with-esc
  korean-iso-8bit-with-esc hebrew-iso-8bit-with-esc
  greek-iso-8bit-with-esc iso-latin-9-with-esc iso-latin-8-with-esc
  iso-latin-5-with-esc iso-latin-4-with-esc iso-latin-3-with-esc
  iso-latin-2-with-esc iso-latin-1-with-esc
  in-is13194-devanagari-with-esc cyrillic-iso-8bit-with-esc
  chinese-iso-8bit-with-esc japanese-iso-8bit-with-esc
End of *Warning*

Cyrillic nput in emacs -nw in xterm still does not work, if I just
change X keyboard layout.

Converting works just like before: it converts only text typed with
toggled input method.

-- 
Alexander Kotelnikov
Saint-Petersburg, Russia

  reply	other threads:[~2006-05-07 19:40 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-07  9:52 converting between charsets Alexander Kotelnikov
2006-05-07 12:43 ` Stefan Monnier
2006-05-07 19:40   ` Alexander Kotelnikov [this message]
2006-05-08  3:28     ` Stefan Monnier
2006-05-08  9:39       ` Alexander Kotelnikov
2006-05-08 14:30         ` Stefan Monnier
2006-05-09  5:41           ` Alexander Kotelnikov
2006-05-09 18:42             ` Stefan Monnier
2006-05-13 18:42               ` Alexander Kotelnikov
2006-05-14  3:20                 ` Stefan Monnier
2006-05-14 17:53                   ` Alexander Kotelnikov
2006-05-15  0:37                     ` Stefan Monnier
2006-05-15  5:55                       ` Alexander Kotelnikov
2006-05-15  6:02                         ` Alexander Kotelnikov
2006-05-15 14:11                         ` Stefan Monnier
2006-05-15 20:30                           ` Alexander Kotelnikov
2006-05-16  3:50                             ` Stefan Monnier
2006-05-16 10:04                               ` Alexander Kotelnikov
2006-05-17 15:20                                 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84veshaajc.fsf@vinci.loc \
    --to=sacha@myxomop.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).