[IronPython] Spanish characters with accents do not see correctly

Dino Viehland dinov at exchange.microsoft.com
Tue Jan 24 22:39:29 CET 2006

The problem here is that Python's default encoding is ASCII.  You can set the default encoding in the sys class by using the setdefaultencoding API:

import sys

and all file I/O will then use that encoding.  The preferred way to do this is to update your site.py file to make this call.

After this setdefaultencoding is removed from the sys module.  To get it back you need to reload the sys module (something that Beta 1 doesn't support unfortunately).

Also if your file has the UTF headers then we'll automatically recognize those and open the file in the correct format.  So if you use Notepad to store the file and do a Save As and choose one of the Unicode encodings then we should be able to properly read the file w/o changing the default encoding.

Hope that helps!

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Paparipote .
Sent: Tuesday, January 24, 2006 12:23 PM
To: users at lists.ironpython.com
Subject: [IronPython] Spanish characters with accents do not see correctly

I have the next text file named “ent” with the next 3 lines:
--> áéíóúñÑü¿?¡! <--

I execute the next script in IP

>>>e=open("c:/ent", "r")
>>>for i in e.readlines():
...     print i

--> ???????????! <--



I hope you see the problem produced. Some common letters in the spanish 
language the ones with accent were replaced by another characters. May be 
unicode is the cause.

To avoid this issue in C#, I use System.Text.Encoding.Default i.e.:
r=new StreamReader(@"C:\ent", System.Text.Encoding.Default);
w=new StreamWriter(@"C:\ent", False, System.Text.Encoding.Default);
Depending if I read and/or write data

How can I solve this in IP?
Best regards

Charla con tus amigos en línea mediante MSN Messenger: 

users mailing list
users at lists.ironpython.com

More information about the Ironpython-users mailing list