[Python-Dev] PEP 383: Non-decodable Bytes in System Character Interfaces

James Y Knight foom at fuhm.net
Thu Apr 30 22:20:31 CEST 2009


On Apr 30, 2009, at 5:42 AM, Martin v. Löwis wrote:
> I think you are right. I have now excluded ASCII bytes from being
> mapped, effectively not supporting any encodings that are not ASCII
> compatible. Does that sound ok?

Yes. The practical upshot of this is that users who brokenly use  
"ja_JP.SJIS" as their locale (which, note, first requires editing some  
files in /var/lib/locales manually to enable its use..) may still have  
python not work with invalid-in-shift-jis filenames. Since that locale  
is widely recognized as a bad idea to use, and is not supported by any  
distros, it certainly doesn't bother me that it isn't 100% supported  
in python. It seems like the most common reason why people want to use  
SJIS is to make old pre-unicode apps work right in WINE -- in which  
case it doesn't actually affect unix python at all.

I'd personally be fine with python just declaring that the filesystem- 
encoding will *always* be utf-8b and ignore the locale...but I expect  
some other people might complain about that. Of course, application  
authors can decide to do that themselves by calling  
sys.setfilesystemencoding('utf-8b') at the start of their program.

James


More information about the Python-Dev mailing list