Closed GoogleCodeExporter closed 9 years ago
I cannot reproduce it here. You can see in the attached image I am running
without any issues both saved and unsaved files with greek names.
Is your Windows locale set to Russian?
Are you able to run scripts with russian names and/or paths with the standard
Python interpreter?
Possible solutions:
a) You may have to do the following (here it works without that, since
PyScripter passes Unicode filenames to Python):
If you look the PyScripter help file in the topic "Encoded Python
Source Files" (last paragraph) it tells you how to configure Python to
support other encodings by modifying the site.py file. This file is
in the lib subdirectory of the Python installation directory. Find
the function setencoding and make sure that the support locale aware
default string encodings is on. (see below)
def setencoding():
"""Set the string encoding used by the Unicode implementation. The
default is 'ascii', but if you're willing to experiment, you can
change this."""
encoding = "ascii" # Default value set by _PyUnicode_Init()
if 1: <<<<<<<<<<<<<-------------------------------------
# Enable to support locale aware default string encodings.
import locale
loc = locale.getdefaultlocale ()
if loc[1]:
encoding = loc[1]
if 0:
# Enable to switch off string to Unicode coercion and implicit
# Unicode to string conversion.
encoding = "undefined"
if encoding != "ascii":
# On Non-Unicode builds this will raise an AttributeError...
sys.setdefaultencoding (encoding) # Needs Python Unicode
build !
b) Modify the Russian translation so that new modules are created with English
names.
- Get Poedit (google for it)
- Open default.po in the russian locale with PoEdit
- Find string "module" and delete the translation
- Save the file. (PoEdit automatically compiles the default.po into
default.mo)
Now when you create a new modules you should see English names.
Please report here the outcome of the above.
Original comment by pyscripter
on 17 Oct 2010 at 12:53
Attachments:
I think the most likely cause is the Windows locale.
Original comment by pyscripter
on 17 Oct 2010 at 12:59
Could you please also test with Python 3.x and report back whether you have the
same issue?
Original comment by pyscripter
on 17 Oct 2010 at 1:00
working versions of "A" and "B".
I tried to reproduce the same situation on Virtual PC with Windows XP.
python 2.6.5 - bug is present
python 3.1 - no error
Original comment by Kotya...@gmail.com
on 17 Oct 2010 at 3:08
Attachments:
Have you checked the Windows locale? Is it Russian?
Have you tried to modify site.py?
Original comment by pyscripter
on 17 Oct 2010 at 4:29
Yes, I changed the file site.py after this work was ok
and Virual PC and on my laptop with Windows Vista.
Windows locale is Russian.
Original comment by Kotya...@gmail.com
on 17 Oct 2010 at 4:57
Issue 429 has been merged into this issue.
Original comment by pyscripter
on 19 Oct 2010 at 2:04
Issue 444 has been merged into this issue.
Original comment by pyscripter
on 17 Nov 2010 at 12:50
Changing site.py is workaround, but not solution for issue.
Original comment by alex.lab...@gmail.com
on 17 Nov 2010 at 3:16
Thank you very much! Very helpful. Change one line site.py changed condition,
and it worked.
Original comment by Alexand...@gmail.com
on 27 Jan 2011 at 12:07
Attachments:
Issue 535 has been merged into this issue.
Original comment by pyscripter
on 5 Aug 2011 at 7:47
Issue 544 has been merged into this issue.
Original comment by pyscripter
on 12 Aug 2011 at 2:37
Issue 585 has been merged into this issue.
Original comment by pyscripter
on 11 Dec 2011 at 7:06
Issue 587 has been merged into this issue.
Original comment by pyscripter
on 13 Dec 2011 at 2:59
Hi,
I use pyscripter 2.4.3.0, I use the method to modify file in python 2.7 in
Issue 427 like below:
def setencoding():
"""Set the string encoding used by the Unicode implementation. The
default is 'ascii', but if you're willing to experiment, you can
change this."""
encoding = "ascii" # Default value set by _PyUnicode_Init()
if 1: <<<<<<<<<<<<<-------------------------------------Change the '0'
to '1'
# Enable to support locale aware default string encodings.
import locale
loc = locale.getdefaultlocale ()
if loc[1]:
encoding = loc[1]
if 0:
# Enable to switch off string to Unicode coercion and implicit
# Unicode to string conversion.
encoding = "undefined"
if encoding != "ascii":
# On Non-Unicode builds this will raise an AttributeError...
sys.setdefaultencoding (encoding) # Needs Python Unicode
build !
In python 2.7 (the same as python 2.6), when I am debugging, do not
prompt: UnicodeEncodeError: 'ascii' codec can't encode characters in
position 12-13: ordinal not in range(128) now, but the debug behaviour is
odd, it can't break in the breakpoint, But the "Run to Cursor position"
(also F4) button can use only once.
In Inssue 587 I say in python 2.6 the debug behaviour is odd, because I
already change the file site.py in python2.6.
�� Tue, 13 Dec 2011 11:04:02 +0800��<pyscripter@googlecode.com> �:
Original comment by xqt...@gmail.com
on 16 Dec 2011 at 7:44
I have reopened 587
Original comment by pyscripter
on 16 Dec 2011 at 11:06
The path to .py file must not have any characters except English.
Original comment by levz...@gmail.com
on 27 Oct 2013 at 6:55
Original issue reported on code.google.com by
Kotya...@gmail.com
on 17 Oct 2010 at 8:55Attachments: