Author: chrisz
Date: 2009-03-05 16:03:14 -0700 (Thu, 05 Mar 2009)
New Revision: 3801
Modified:
FormEncode/trunk/formencode/validators.py
Log:
Fix for bug #2666139: On a German Win XP system, DateValidator breaks in March
when the German locale is activated, because the month name contains a
non-ascii character and DateValidator tries to decode it, wrongly assuming the
system is using utf-8, while Windows is using cp1252.
Modified: FormEncode/trunk/formencode/validators.py
===================================================================
--- FormEncode/trunk/formencode/validators.py 2009-03-05 17:53:16 UTC (rev
3800)
+++ FormEncode/trunk/formencode/validators.py 2009-03-05 23:03:14 UTC (rev
3801)
@@ -23,6 +23,7 @@
Validator/Converters for use with FormEncode.
"""
+import locale
import warnings
import re
DateTime = None
@@ -829,8 +830,8 @@
def validate_python(self, value, state):
date_format = self.message('date_format', state)
if isinstance(date_format, unicode):
- # strftime doesn't like unicode
- encoding = 'utf8'
+ # strftime uses the locale encoding, not Unicode
+ encoding = locale.getlocale(locale.LC_TIME)[1] or 'utf-8'
date_format = date_format.encode(encoding)
else:
encoding = None
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
FormEncode-CVS mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/formencode-cvs