Windows 7 - How to set default encoding

Asked By Peter Afonin on 02-May-10 03:29 PM
Hello,

I need to set the default encoding for reading messages in the Live Mail in
Windows 7.

So I go to Menus - Options - Read - International Settings. The Default
Encoding is set to Cyrillic KOI-8, and I cannot change it, it is grayed out.

I have the same problem with Outlook 2007 and I could never figure out how
to fix it.

I would appreciate your help.

Thank you.




Michael Santovec replied to Peter Afonin on 02-May-10 04:10 PM
Instead of the International button, click the FONTS button there and
change the encoding.

--

Mike - http://TechHelp.Santovec.us
Peter Afonin replied to Michael Santovec on 02-May-10 05:34 PM
Thank you, this seems to work.
Peter Afonin replied to Michael Santovec on 02-May-10 05:42 PM
Actually, it did not change anything. It did change the value under
International Settings, but the messages are still coming in the old
encoding - Cyrillic KOI-8.
Michael Santovec replied to Peter Afonin on 03-May-10 04:23 PM
Do the incoming messages specify an encoding?  Look that the Message
Source (Ctrl-F3).

Is it that you want to override the encoding that the sender used or
specify the encoding for messages that do not include an encoding (i.e.
non-MIME messages)?

Did you check the box to use for all incoming messages at the
International button?

Did you click the set as default encoding at the Fonts button?

Are the message plain text or HTML format?

Are you reading all message in plain text (Tools, Options, Read)?

--

Mike - http://TechHelp.Santovec.us
Michael Santovec replied to Peter Afonin on 04-May-10 04:51 PM
Are these messages that you are sending or receiving?

it is the sender that sets the encoding.

The settings we were talking about for when either the sender does not
specify an encoding (which is the case for non-MIME aka Uuencoded ,
messages) or when for some reason you need to override what the sender
has specified.

If these are messages that you are sending, then you need to look at
Tools, Options, Send, International Settings or in the message
composition window Format, Encoding.

--

Mike - http://TechHelp.Santovec.us
Peter Afonin replied to Michael Santovec on 04-May-10 07:47 PM
These are the messages that I am receiving.

The problem was that I was receiving all messages in Cyrillic KOI-8
encoding, even when they were sent in Windows-1251 encoding. These was true
for both - Outlook and Live Mail. So I always had to manually change the
encoding of the messages that I was receiving.

With your recommendations I think I fixed it at least in the Live Mail,
except for the Subject line. But in the examples I gave you the subject line
looks weird, it might be the problem with sending messages, not receiving.

Thanks,

Peter
Michael Santovec replied to Peter Afonin on 05-May-10 05:12 PM
When you look at the message source what you see there is exactly what
WLM got.  It does not change anything.

The issue is most likely in the sender's mail program.

There is another possibility.  The issue could be in the mail server,
particularly if the message passes through an Exchange server.  Exchange
likes to interpret and reformat messages.

--

Mike - http://TechHelp.Santovec.us
Peter Afonin replied to Michael Santovec on 06-May-10 07:11 PM
Yes, I thought so too.

However, there is something I cannot explain. These messages are sent from
the ASP.NET program that I created myself. They are not going through the
Exchange server.

If I send these messages in KOI-8 encoding - I have no problems, they are
all readable, subject and header. But if I send them in Windows 1251
format - this is what I get. I have to change the encoding manually to read
them (still does not work well on the Subject).

Another thing - I have this problem only with Outlook (it is worst with
encodings) and Windows Live Mail, I'd never had this problem with Outlook
Express, Windows Mail or any other email clients like TheBat.

There is something I am missing here, I do not know what.

Thank you.
Michael Santovec replied to Peter Afonin on 07-May-10 05:56 PM
Is your ASP.NET program writing straight to an SMTP server?

Your program is responsible not only for encoding the message but
specifying what encoding it used so that the receiving program can
properly display the message.

When you see something like
Subject: =?koi8-r?

That means that the sending program program is telling the receiving
program that it is using that encoding for the Subject.  The absence of
that in the Subject means that the sending program assumes that the
encoding it is using will display OK with whatever default encoding that
recipient is using.  A generally reasonable assumption if the recipient
most often uses the same language that the sender is using.

Beyond the Subject, the "charset" MIME tag is used to let the recipient
mail program know what encoding is being used.  Again it is the sending
program's responsibility to supply that.


--

Mike - http://TechHelp.Santovec.us
Peter Afonin replied to Michael Santovec on 09-May-10 05:08 PM
Thank you, I will try to research this further.

There are not that many options in the program:

message.Subject = "Subject text";
message.Body="Body text";
message.SubjectEncoding = Encoding.GetEncoding(1251);
message.BodyEncoding = Encoding.GetEncoding(1251);
message.IsBodyHtml = false;
smtp.Send(message);

My configuration file also refers to 1251 only:

responseEncoding="Windows-1251" fileEncoding="Windows-1251" culture="en-US"
uiCulture="en-US"/>

Not sure where this KOI-8 is coming from.

But again, if I use

message.SubjectEncoding = Encoding.GetEncoding(20866);
message.BodyEncoding = Encoding.GetEncoding(20866);

(20866 - KOI-8 encoding)

I have no problem reading messages.

I still believe that there are some default settings on the mail server -
whether sending or receiving - that change message encoding.
Michael Santovec replied to Peter Afonin on 10-May-10 05:11 PM
You are going to need to take this to a programming forum since the
issue is not related to the Windows Live Mail program.

--

Mike - http://TechHelp.Santovec.us