SVN: Zope/trunk/ Changed the value for `default-zpublisher-encoding` and `management_page_charset` to `utf-8`.

Hanno Schlichting <[email protected]>
Newsgroups gmane.comp.web.zope.cvs
Message-ID <[email protected]>
Log message for revision 122063:
  Changed the value for `default-zpublisher-encoding` and `management_page_charset` to `utf-8`.
  

Changed:
  U   Zope/trunk/doc/CHANGES.rst
  U   Zope/trunk/src/OFS/PropertySheets.py
  U   Zope/trunk/src/Products/PageTemplates/ZopePageTemplate.py
  U   Zope/trunk/src/Products/PageTemplates/tests/testExpressions.py
  U   Zope/trunk/src/Products/PageTemplates/tests/testZopePageTemplate.py
  U   Zope/trunk/src/Products/PageTemplates/unicodeconflictresolver.py
  D   Zope/trunk/src/Products/ZReST/TODO.txt
  U   Zope/trunk/src/Products/ZReST/ZReST.py
  U   Zope/trunk/src/Products/ZReST/tests/test_ZReST.py
  U   Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt
  U   Zope/trunk/src/ZPublisher/Converters.py
  U   Zope/trunk/src/ZPublisher/HTTPRequest.py
  U   Zope/trunk/src/ZPublisher/HTTPResponse.py
  U   Zope/trunk/src/ZPublisher/tests/exception_handling.txt
  U   Zope/trunk/src/ZPublisher/tests/testHTTPRequest.py
  U   Zope/trunk/src/ZPublisher/tests/testHTTPResponse.py
  U   Zope/trunk/src/ZPublisher/tests/test_Converters.py
  U   Zope/trunk/src/Zope2/Startup/__init__.py
  U   Zope/trunk/src/Zope2/Startup/tests/test_schema.py
  U   Zope/trunk/src/Zope2/Startup/zopeschema.xml
  U   Zope/trunk/src/Zope2/utilities/skel/etc/zope.conf.in
  U   Zope/trunk/src/reStructuredText/tests/testReST.py
  U   Zope/trunk/src/webdav/litmus-results.txt
  U   Zope/trunk/src/webdav/xmltools.py

-=-
Modified: Zope/trunk/doc/CHANGES.rst
===================================================================
--- Zope/trunk/doc/CHANGES.rst	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/doc/CHANGES.rst	2011-07-02 17:07:04 UTC (rev 122063)
@@ -31,6 +31,9 @@
 Restructuring
 +++++++++++++
 
+- Changed the value for `default-zpublisher-encoding` and
+  `management_page_charset` to `utf-8`.
+
 - Removed the `enable-ms-author-via` directive which was only required for
   very old web folder implementations from before 2007.
 

Modified: Zope/trunk/src/OFS/PropertySheets.py
===================================================================
--- Zope/trunk/src/OFS/PropertySheets.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/OFS/PropertySheets.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -791,7 +791,6 @@
     if not isinstance(value, basestring):
         value = unicode(value)
     if not isinstance(value, unicode):
-        # XXX It really shouldn't be hardcoded to latin-1 here.
-        value = value.decode('latin-1')
+        value = value.decode('utf-8')
     value = escape(value)
     return value.encode('utf-8')

Modified: Zope/trunk/src/Products/PageTemplates/ZopePageTemplate.py
===================================================================
--- Zope/trunk/src/Products/PageTemplates/ZopePageTemplate.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Products/PageTemplates/ZopePageTemplate.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -14,7 +14,6 @@
 """
 
 import os
-import re
 
 from AccessControl.class_init import InitializeClass
 from AccessControl.Permissions import change_page_templates
@@ -23,7 +22,6 @@
 from AccessControl.Permissions import view_management_screens
 from AccessControl.SecurityManagement import getSecurityManager
 from AccessControl.SecurityInfo import ClassSecurityInfo
-from AccessControl.ZopeGuards import safe_builtins
 from Acquisition import Acquired
 from Acquisition import Explicit
 from Acquisition import aq_get
@@ -51,7 +49,6 @@
 preferred_encodings = ['utf-8', 'iso-8859-15']
 if os.environ.has_key('ZPT_PREFERRED_ENCODING'):
     preferred_encodings.insert(0, os.environ['ZPT_PREFERRED_ENCODING'])
-  
 
 
 class Src(Explicit):
@@ -73,7 +70,7 @@
     "Zope wrapper for Page Template using TAL, TALES, and METAL"
 
     meta_type = 'Page Template'
-    output_encoding = 'iso-8859-15'  # provide default for old instances
+    output_encoding = 'utf-8'  # provide default for old instances
 
     func_defaults = None
     func_code = FuncCode((), 0)
@@ -147,14 +144,14 @@
                     output_encoding = charset
                 else:
                     encoding = None
-                    output_encoding = 'iso-8859-15'
+                    output_encoding = 'utf-8'
             else:
                 if charset:
                     encoding = charset
                     output_encoding = charset
                 else:
-                    encoding = 'iso-8859-15'
-                    output_encoding = 'iso-8859-15'
+                    encoding = 'utf-8'
+                    output_encoding = 'utf-8'
 
         else:
             utext, encoding = convertToUnicode(text,

Modified: Zope/trunk/src/Products/PageTemplates/tests/testExpressions.py
===================================================================
--- Zope/trunk/src/Products/PageTemplates/tests/testExpressions.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Products/PageTemplates/tests/testExpressions.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -1,4 +1,4 @@
-# *-* coding: iso-8859-15 -*-
+# *-* coding: iso-8859-1 -*-
 
 import unittest
 
@@ -26,7 +26,7 @@
             def __call__(self):
                 return 'dummy'
             
-            management_page_charset = 'iso-8859-15'
+            management_page_charset = 'utf-8'
 
         class DummyDocumentTemplate:
             __allow_access_to_unprotected_subobjects__ = 1
@@ -184,8 +184,8 @@
             import StrictUnicodeEncodingConflictResolver
         from Products.PageTemplates.interfaces \
             import IUnicodeEncodingConflictResolver
-        provideUtility(StrictUnicodeEncodingConflictResolver, 
-                                      IUnicodeEncodingConflictResolver)        
+        provideUtility(StrictUnicodeEncodingConflictResolver,
+                                      IUnicodeEncodingConflictResolver)
         self.assertEqual(ec.evaluate(expr), u'äüö')
 
 class UntrustedEngineTests(EngineTestsBase, unittest.TestCase):
@@ -229,8 +229,8 @@
         provideUtility(StrictUnicodeEncodingConflictResolver, 
                                       IUnicodeEncodingConflictResolver)
         resolver = getUtility(IUnicodeEncodingConflictResolver)
-        self.assertRaises(UnicodeDecodeError,
-                          resolver.resolve, None, 'äüö', None)
+        text = u'\xe4\xfc\xe4'
+        self.assertEqual(resolver.resolve(None, text, None), text)
 
     def testIgnoringResolver(self):
         from zope.component import getUtility

Modified: Zope/trunk/src/Products/PageTemplates/tests/testZopePageTemplate.py
===================================================================
--- Zope/trunk/src/Products/PageTemplates/tests/testZopePageTemplate.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Products/PageTemplates/tests/testZopePageTemplate.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -13,7 +13,7 @@
 import transaction
 
 import zope.component.testing
-from zope.traversing.adapters import DefaultTraversable, Traverser
+from zope.traversing.adapters import DefaultTraversable
 from zope.publisher.http import HTTPCharsets 
 
 from Testing.makerequest import makerequest
@@ -200,7 +200,7 @@
                                  output_encoding='ascii',
                                 )
         state = cPickle.dumps(empty, protocol=1)
-        clone = cPickle.loads(state)
+        cPickle.loads(state)
 
     def testBug246983(self):
         # See https://bugs.launchpad.net/bugs/246983
@@ -250,7 +250,7 @@
         result = zpt.pt_render()
         # use startswith() because the renderer appends a trailing \n
         self.assertEqual(result.encode('ascii').startswith(ascii_str), True)
-        self.assertEqual(zpt.output_encoding, 'iso-8859-15')
+        self.assertEqual(zpt.output_encoding, 'utf-8')
 
     def testPT_RenderUnicodeExpr(self):
         # Check workaround for unicode incompatibility of ZRPythonExpr.
@@ -260,7 +260,7 @@
                                      'unicode(\'\xfe\', \'iso-8859-15\')" />'),
                                encoding='iso-8859-15')
         zpt = self.app['test']
-        result = zpt.pt_render() # should not raise a UnicodeDecodeError
+        zpt.pt_render() # should not raise a UnicodeDecodeError
 
     def testPT_RenderWithISO885915(self):
         manage_addPageTemplate(self.app, 'test',
@@ -270,7 +270,7 @@
         # use startswith() because the renderer appends a trailing \n
         self.assertTrue(result.encode('iso-8859-15'
                                      ).startswith(iso885915_str))
-        self.assertEqual(zpt.output_encoding, 'iso-8859-15')
+        self.assertEqual(zpt.output_encoding, 'utf-8')
 
     def testPT_RenderWithUTF8(self):
         manage_addPageTemplate(self.app, 'test',
@@ -279,7 +279,7 @@
         result = zpt.pt_render()
         # use startswith() because the renderer appends a trailing \n
         self.assertEqual(result.encode('utf-8').startswith(utf8_str), True)
-        self.assertEqual(zpt.output_encoding, 'iso-8859-15')
+        self.assertEqual(zpt.output_encoding, 'utf-8')
 
     def testWriteAcceptsUnicode(self):
         manage_addPageTemplate(self.app, 'test', '', encoding='utf-8')
@@ -323,14 +323,9 @@
         self.assertEqual(zpt.output_encoding, 'utf-8')
         self.assertEqual(zpt.content_type, 'text/html')
 
-    def testPutHTMLIso8859_15WithoutCharsetInfo(self):
-        zpt = self._put(html_iso_8859_15_wo_header)
-        self.assertEqual(zpt.output_encoding, 'iso-8859-15')
-        self.assertEqual(zpt.content_type, 'text/html')
-
     def testPutHTMLUTF8_WithoutCharsetInfo(self):
         zpt = self._put(html_utf8_wo_header)
-        self.assertEqual(zpt.output_encoding, 'iso-8859-15')
+        self.assertEqual(zpt.output_encoding, 'utf-8')
         self.assertEqual(zpt.content_type, 'text/html')
 
     def testPutXMLIso8859_15(self):
@@ -338,20 +333,20 @@
         zpt = self._put(xml_iso_8859_15)
         self.assertEqual(zpt.output_encoding, 'utf-8')
         self.assertEqual(zpt.content_type, 'text/xml')
-        result = zpt.pt_render() # should not raise an exception
+        zpt.pt_render() # should not raise an exception
 
     def testPutXMLUTF8(self):
         """ XML: use always UTF-8 als output encoding """
         zpt = self._put(xml_utf8)
         self.assertEqual(zpt.output_encoding, 'utf-8')
         self.assertEqual(zpt.content_type, 'text/xml')
-        result = zpt.pt_render() # should not raise an exception
+        zpt.pt_render() # should not raise an exception
 
     def testXMLAttrsMustNotBeLowercased(self):
         zpt = self._put(xml_with_upper_attr)
         self.assertEqual(zpt.content_type, 'text/xml')
         result = zpt.pt_render()
-     	self.assertEqual('ATTR' in result, True)		
+        self.assertEqual('ATTR' in result, True)
 
     def testHTMLAttrsAreLowerCased(self):
         zpt = self._put(html_with_upper_attr)
@@ -372,9 +367,9 @@
         # This test checks the edgecase where the unicode conflict resolver
         # is called with a context object having no REQUEST
         class ContextMock:
-            management_page_charset = 'iso-8859-15'
+            management_page_charset = 'utf-8'
         result = PreferredCharsetResolver.resolve(ContextMock(), 'üöä', None)
-        self.assertEqual(result, u'üöä')
+        self.assertEqual(result, 'üöä')
 
 
 class ZPTRegressions(unittest.TestCase):

Modified: Zope/trunk/src/Products/PageTemplates/unicodeconflictresolver.py
===================================================================
--- Zope/trunk/src/Products/PageTemplates/unicodeconflictresolver.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Products/PageTemplates/unicodeconflictresolver.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -54,7 +54,11 @@
             return unicode(text)
         except UnicodeDecodeError:
             encoding = getattr(context, 'management_page_charset', default_encoding)
-            return unicode(text, encoding, self.mode)
+            try:
+                return unicode(text, encoding, self.mode)
+            except UnicodeDecodeError:
+                # finally try the old management_page_charset default
+                return unicode(text, 'iso-8859-15', self.mode)
 
 
 class PreferredCharsetResolver:

Deleted: Zope/trunk/src/Products/ZReST/TODO.txt
===================================================================
--- Zope/trunk/src/Products/ZReST/TODO.txt	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Products/ZReST/TODO.txt	2011-07-02 17:07:04 UTC (rev 122063)
@@ -1,5 +0,0 @@
-. charset configuration, defaulting to 'latin-1'
-. add "level" and "header" args to render / as_html
-  - level indicates the header level to start at
-  - header boolean turns page header tags on/off
-

Modified: Zope/trunk/src/Products/ZReST/ZReST.py
===================================================================
--- Zope/trunk/src/Products/ZReST/ZReST.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Products/ZReST/ZReST.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -73,8 +73,8 @@
         {'id':'stylesheet', 'type': 'string', 'mode': 'w',
             'default': ''},
         {'id':'report_level', 'type': 'string', 'mode': 'w', 'default': '2'},
-        {'id':'input_encoding', 'type': 'string', 'mode': 'w', 'default': 'iso-8859-15'},
-        {'id':'output_encoding', 'type': 'string', 'mode': 'w', 'default': 'iso-8859-15'},
+        {'id':'input_encoding', 'type': 'string', 'mode': 'w', 'default': 'utf-8'},
+        {'id':'output_encoding', 'type': 'string', 'mode': 'w', 'default': 'utf-8'},
     )
     property_extensible_schema__ = 0
 

Modified: Zope/trunk/src/Products/ZReST/tests/test_ZReST.py
===================================================================
--- Zope/trunk/src/Products/ZReST/tests/test_ZReST.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Products/ZReST/tests/test_ZReST.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -1,4 +1,4 @@
-# -*- coding: iso-8859-15 -*-
+# -*- coding: utf-8 -*-
 
 """ Unit tests for ZReST objects
 """
@@ -12,7 +12,7 @@
 
 text text
 
-Von Vögeln und Öfen
+Von V\xc3\xb6geln und \xc3\x96fen
 ===================
 
 - some
@@ -62,15 +62,15 @@
     def testConversion(self):
         resty = self._makeOne()
         resty.source = txt
-        resty.input_encoding = 'iso-8859-15'
-        resty.output_encoding = 'iso-8859-15'
+        resty.input_encoding = 'utf-8'
+        resty.output_encoding = 'utf-8'
         resty.render()
         html = resty.index_html()
 
         s = '<h1>Hello World</h1>'
         self.assertEqual(s in html, True)
 
-        s = '<h1>Von Vögeln und Öfen</h1>'
+        s = '<h1>Von V\xc3\xb6geln und \xc3\x96fen</h1>'
         self.assertEqual(s in html, True)
 
         # ZReST should render a complete HTML document

Modified: Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt
===================================================================
--- Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Testing/ZopeTestCase/zopedoctest/FunctionalDocTest.txt	2011-07-02 17:07:04 UTC (rev 122063)
@@ -86,7 +86,7 @@
   ... """)
   HTTP/1.1 200 OK
   Content-Length: 5
-  Content-Type: text/plain; charset=iso-8859-15
+  Content-Type: text/plain; charset=utf-8
   <BLANKLINE>
   index
               

Modified: Zope/trunk/src/ZPublisher/Converters.py
===================================================================
--- Zope/trunk/src/ZPublisher/Converters.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/ZPublisher/Converters.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -18,7 +18,7 @@
 from cgi import escape
 
 # This may get overwritten during configuration
-default_encoding = 'iso-8859-15'
+default_encoding = 'utf-8'
 
 def field2string(v):
     if hasattr(v,'read'): return v.read()

Modified: Zope/trunk/src/ZPublisher/HTTPRequest.py
===================================================================
--- Zope/trunk/src/ZPublisher/HTTPRequest.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/ZPublisher/HTTPRequest.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -56,7 +56,7 @@
 base64 = None
 
 # This may get overwritten during configuration
-default_encoding = 'iso-8859-15'
+default_encoding = 'utf-8'
 
 isCGI_NAMEs = {
         'SERVER_SOFTWARE' : 1,
@@ -642,7 +642,7 @@
                                 # We have a string with a specified character
                                 # encoding.  This gets passed to the converter
                                 # either as unicode, if it can handle it, or
-                                # crunched back down to latin-1 if it can not.
+                                # crunched back down to utf-8 if it can not.
                                 item = unicode(item,character_encoding)
                                 if hasattr(converter,'convert_unicode'):
                                     item = converter.convert_unicode(item)

Modified: Zope/trunk/src/ZPublisher/HTTPResponse.py
===================================================================
--- Zope/trunk/src/ZPublisher/HTTPResponse.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/ZPublisher/HTTPResponse.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -36,7 +36,7 @@
 nl2sp = maketrans('\n', ' ')
 
 # This may get overwritten during configuration
-default_encoding = 'iso-8859-15'
+default_encoding = 'utf-8'
 
 # Enable APPEND_TRACEBACKS to make Zope append tracebacks like it used to,
 # but a better solution is to make standard_error_message display error_tb.

Modified: Zope/trunk/src/ZPublisher/tests/exception_handling.txt
===================================================================
--- Zope/trunk/src/ZPublisher/tests/exception_handling.txt	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/ZPublisher/tests/exception_handling.txt	2011-07-02 17:07:04 UTC (rev 122063)
@@ -158,7 +158,7 @@
     HTTPError: HTTP Error 401: Unauthorized
     >>> 'Error Type: Unauthorized' in browser.contents
     True
-    >>> 'Error Value: ERROR VALUE ?' in browser.contents
+    >>> 'Error Value: ERROR VALUE \xce\xa9' in browser.contents
     True
     >>> browser.headers['WWW-Authenticate']
     'basic realm="Zope2"'

Modified: Zope/trunk/src/ZPublisher/tests/testHTTPRequest.py
===================================================================
--- Zope/trunk/src/ZPublisher/tests/testHTTPRequest.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/ZPublisher/tests/testHTTPRequest.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -205,7 +205,6 @@
                   ('utext:utext:utf8', 'test\xc2\xae\ntest\xc2\xae\n'),
                   ('utokens:utokens:utf8', 'test\xc2\xae test\xc2\xae'),
                   ('ulines:ulines:utf8', 'test\xc2\xae\ntest\xc2\xae'),
-
                   ('nouconverter:string:utf8', 'test\xc2\xae'))
         req = self._processInputs(inputs)
 
@@ -219,8 +218,8 @@
         self.assertEquals(req['utokens'], [u'test\u00AE', u'test\u00AE'])
         self.assertEquals(req['ulines'], [u'test\u00AE', u'test\u00AE'])
 
-        # expect a latin1 encoded version
-        self.assertEquals(req['nouconverter'], 'test\xae')
+        # expect a utf-8 encoded version
+        self.assertEquals(req['nouconverter'], 'test\xc2\xae')
 
         self._noTaintedValues(req)
         self._onlyTaintedformHoldsTaintedStrings(req)

Modified: Zope/trunk/src/ZPublisher/tests/testHTTPResponse.py
===================================================================
--- Zope/trunk/src/ZPublisher/tests/testHTTPResponse.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/ZPublisher/tests/testHTTPResponse.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -1,4 +1,4 @@
-# -*- coding: iso-8859-15 -*-
+# -*- coding: utf-8 -*-
 
 import unittest
 import sys
@@ -68,13 +68,13 @@
     def test_ctor_charset_no_content_type_header(self):
         response = self._makeOne(body='foo')
         self.assertEqual(response.headers.get('content-type'),
-                         'text/plain; charset=iso-8859-15')
+                         'text/plain; charset=utf-8')
 
     def test_ctor_charset_text_header_no_charset_defaults_latin1(self):
         response = self._makeOne(body='foo',
                                  headers={'content-type': 'text/plain'})
         self.assertEqual(response.headers.get('content-type'),
-                         'text/plain; charset=iso-8859-15')
+                         'text/plain; charset=utf-8')
 
     def test_ctor_charset_application_header_no_header(self):
         response = self._makeOne(body='foo',
@@ -90,15 +90,15 @@
                          'application/foo; charset: something')
 
     def test_ctor_charset_unicode_body_application_header(self):
-        BODY = unicode('ärger', 'iso-8859-15')
+        BODY = u'\xe4rger'
         response = self._makeOne(body=BODY,
                                  headers={'content-type': 'application/foo'})
         self.assertEqual(response.headers.get('content-type'),
-                         'application/foo; charset=iso-8859-15')
-        self.assertEqual(response.body, 'ärger')
+                         'application/foo; charset=utf-8')
+        self.assertEqual(response.body, BODY.encode('utf-8'))
 
     def test_ctor_charset_unicode_body_application_header_diff_encoding(self):
-        BODY = unicode('ärger', 'iso-8859-15')
+        BODY = u'\xe4rger'
         response = self._makeOne(body=BODY,
                                  headers={'content-type':
                                             'application/foo; charset=utf-8'})
@@ -562,7 +562,7 @@
         self.assertTrue(result)
         self.assertEqual(response.body, EXPECTED)
         self.assertEqual(response.getHeader('Content-Type'),
-                         'text/html; charset=iso-8859-15')
+                         'text/html; charset=utf-8')
         self.assertEqual(response.getHeader('Content-Length'),
                          str(len(EXPECTED)))
 
@@ -576,7 +576,7 @@
         self.assertTrue('TITLE' in response.body)
         self.assertTrue('BODY' in response.body)
         self.assertEqual(response.getHeader('Content-Type'),
-                         'text/html; charset=iso-8859-15')
+                         'text/html; charset=utf-8')
 
     def test_setBody_string_not_HTML(self):
         response = self._makeOne()
@@ -584,7 +584,7 @@
         self.assertTrue(result)
         self.assertEqual(response.body, 'BODY')
         self.assertEqual(response.getHeader('Content-Type'),
-                         'text/plain; charset=iso-8859-15')
+                         'text/plain; charset=utf-8')
         self.assertEqual(response.getHeader('Content-Length'), '4')
 
     def test_setBody_string_HTML(self):
@@ -594,7 +594,7 @@
         self.assertTrue(result)
         self.assertEqual(response.body, HTML)
         self.assertEqual(response.getHeader('Content-Type'),
-                         'text/html; charset=iso-8859-15')
+                         'text/html; charset=utf-8')
         self.assertEqual(response.getHeader('Content-Length'), str(len(HTML)))
 
     def test_setBody_object_with_asHTML(self):
@@ -607,18 +607,18 @@
         self.assertTrue(result)
         self.assertEqual(response.body, HTML)
         self.assertEqual(response.getHeader('Content-Type'),
-                         'text/html; charset=iso-8859-15')
+                         'text/html; charset=utf-8')
         self.assertEqual(response.getHeader('Content-Length'), str(len(HTML)))
 
     def test_setBody_object_with_unicode(self):
         HTML = u'<html><head></head><body><h1>Tr\u0039s Bien</h1></body></html>'
-        ENCODED = HTML.encode('iso-8859-15')
+        ENCODED = HTML.encode('utf-8')
         response = self._makeOne()
         result = response.setBody(HTML)
         self.assertTrue(result)
         self.assertEqual(response.body, ENCODED)
         self.assertEqual(response.getHeader('Content-Type'),
-                         'text/html; charset=iso-8859-15')
+                         'text/html; charset=utf-8')
         self.assertEqual(response.getHeader('Content-Length'),
                          str(len(ENCODED)))
 
@@ -737,7 +737,7 @@
     def test_redirect_explicit_status(self):
         URL = 'http://example.com'
         response = self._makeOne()
-        result = response.redirect(URL, status=307)
+        response.redirect(URL, status=307)
         self.assertEqual(response.status, 307)
         self.assertEqual(response.getHeader('Location'), URL)
         self.assertFalse(response._locked_status)
@@ -745,7 +745,7 @@
     def test_redirect_w_lock(self):
         URL = 'http://example.com'
         response = self._makeOne()
-        result = response.redirect(URL, lock=True)
+        response.redirect(URL, lock=True)
         self.assertEqual(response.status, 302)
         self.assertEqual(response.getHeader('Location'), URL)
         self.assertTrue(response._locked_status)
@@ -1100,7 +1100,7 @@
                          [('X-Powered-By', 'Zope (www.zope.org), '
                                            'Python (www.python.org)'),
                           ('Content-Length', '4'),
-                          ('Content-Type', 'text/plain; charset=iso-8859-15'),
+                          ('Content-Type', 'text/plain; charset=utf-8'),
                          ])
 
     def test___str__already_wrote(self):
@@ -1251,7 +1251,7 @@
                                    'Python (www.python.org)')
         self.assertEqual(lines[2], 'Content-Length: 4')
         self.assertEqual(lines[3],
-                         'Content-Type: text/plain; charset=iso-8859-15')
+                         'Content-Type: text/plain; charset=utf-8')
         self.assertEqual(lines[4], '')
         self.assertEqual(lines[5], 'BLAH')
 

Modified: Zope/trunk/src/ZPublisher/tests/test_Converters.py
===================================================================
--- Zope/trunk/src/ZPublisher/tests/test_Converters.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/ZPublisher/tests/test_Converters.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -24,7 +24,7 @@
         from ZPublisher.Converters import field2string
         to_convert = u'to_convert'
         self.assertEqual(field2string(to_convert),
-                         to_convert.encode('iso-8859-15'))
+                         to_convert.encode('utf-8'))
 
     def test_field2string_with_filelike_object(self):
         from ZPublisher.Converters import field2string

Modified: Zope/trunk/src/Zope2/Startup/__init__.py
===================================================================
--- Zope/trunk/src/Zope2/Startup/__init__.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Zope2/Startup/__init__.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -152,7 +152,7 @@
 
         # workaround to allow unicode encoding conversions in DTML
         import codecs
-        dummy = codecs.lookup('iso-8859-1')
+        dummy = codecs.lookup('utf-8')
 
         locale_id = self.cfg.locale
 

Modified: Zope/trunk/src/Zope2/Startup/tests/test_schema.py
===================================================================
--- Zope/trunk/src/Zope2/Startup/tests/test_schema.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Zope2/Startup/tests/test_schema.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -202,13 +202,13 @@
         conf, dummy = self.load_config_text("""\
             instancehome <<INSTANCE_HOME>>
             """)
-        self.assertEqual(conf.default_zpublisher_encoding, 'iso-8859-15')
+        self.assertEqual(conf.default_zpublisher_encoding, 'utf-8')
 
         conf, dummy = self.load_config_text("""\
             instancehome <<INSTANCE_HOME>>
-            default-zpublisher-encoding utf-8
+            default-zpublisher-encoding iso-8859-15
             """)
-        self.assertEqual(conf.default_zpublisher_encoding, 'utf-8')
+        self.assertEqual(conf.default_zpublisher_encoding, 'iso-8859-15')
 
 
 def test_suite():

Modified: Zope/trunk/src/Zope2/Startup/zopeschema.xml
===================================================================
--- Zope/trunk/src/Zope2/Startup/zopeschema.xml	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Zope2/Startup/zopeschema.xml	2011-07-02 17:07:04 UTC (rev 122063)
@@ -841,7 +841,7 @@
 
   <key name="default-zpublisher-encoding"
        datatype=".default_zpublisher_encoding"
-       default="iso-8859-15">
+       default="utf-8">
      <description>
        This key controls what character set is used to encode unicode
        data that reaches ZPublisher without any other specified encoding.

Modified: Zope/trunk/src/Zope2/utilities/skel/etc/zope.conf.in
===================================================================
--- Zope/trunk/src/Zope2/utilities/skel/etc/zope.conf.in	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/Zope2/utilities/skel/etc/zope.conf.in	2011-07-02 17:07:04 UTC (rev 122063)
@@ -355,104 +355,6 @@
 #    verbose-security on
 
 
-# Directive: maximum-number-of-session-objects
-#
-# Description:
-#     An integer value representing the number of items to use as a
-#     "maximum number of subobjects" value of the
-#     '/temp_folder/session_data' transient object container.
-#
-# Default: 1000
-#
-# Example:
-#
-#    maximum-number-of-session-objects 10000
-
-
-# Directive: session-add-notify-script-path
-#
-# Description:
-#     An optional fill Zope path name of a callable object to be set as the
-#     "script to call on object addition" of the sessioN_data transient
-#     object container created in the /temp_folder folder at startup.
-#
-# Default: unset
-#
-# Example:
-#
-#    session-add-notify-script-path /scripts/add_notifier
-
-
-# Directive: session-delete-notify-script-path
-#
-# Description:
-#     An optional fill Zope path name of a callable object to be set as the
-#     "script to call on object deletion" of the sessioN_data transient
-#     object container created in the /temp_folder folder at startup.
-#
-# Default: unset
-#
-# Example:
-#
-#    session-delete-notify-script-path /scripts/del_notifier
-
-
-# Directive: session-timeout-minutes
-#
-# Description:
-#     An integer value representing the number of minutes to be used as the
-#     "data object timeout" of the '/temp_folder/session_data' transient
-#     object container.
-#
-# Default: 20
-#
-# Example:
-#
-#    session-timeout-minutes 30
-
-
-# Directive: session-resolution-seconds
-#
-# Description:
-#    An integer value representing the number of seconds to be used as the
-#    "timeout resolution" of the '/temp_folder/session_data' transient
-#    object container.
-#
-# Default: 20
-#
-# Example:
-#
-#    session-resolution-seconds 60
-
-
-# Directive: suppress-all-access-rules
-#
-# Description:
-#     If this directive is set to on, no access rules in your Zope site
-#     will be executed. This is useful if you "lock yourself out" of a
-#     particular part of your site by setting an improper access rule.
-#
-# Default: off
-#
-# Example:
-#
-#    suppress-all-access-rules on
-
-
-# Directive: suppress-all-site-roots
-#
-# Description:
-#     If this directive is set to on, no site roots in your Zope site will
-#     be effective. This is useful if you "lock yourself out" of a
-#     particular part of your site by setting an improper site root.
-#
-# Default: off
-#
-# Example:
-#
-#    suppress-all-site-roots on
-
-
 # Directives: logger
 #
 # Description:
@@ -627,17 +529,6 @@
 #
 #    large-file-threshold 1Mb
 
-# Directive: default-zpublisher-encoding
-#
-# Description:
-#     This controls what character set is used to encode unicode
-#     data that reaches ZPublisher without any other specified encoding.
-#
-# Default: iso-8859-15
-#
-# Example:
-#
-#    default-zpublisher-encoding utf-8
 
 # Directives: servers
 #

Modified: Zope/trunk/src/reStructuredText/tests/testReST.py
===================================================================
--- Zope/trunk/src/reStructuredText/tests/testReST.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/reStructuredText/tests/testReST.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -1,4 +1,4 @@
-# -*- coding: iso-8859-15 -*-
+# -*- coding: utf-8 -*-
 
 import unittest
 import cgi
@@ -11,7 +11,7 @@
 
 text text
 
-Von Vögeln und Öfen
+Von V\xc3\xb6geln und \xc3\x96fen
 ===================
 
 - some
@@ -43,26 +43,25 @@
                         input_encoding=in_enc,
                         output_encoding=out_enc)
 
-        encoding = 'iso-8859-15'
+        encoding = 'utf-8'
         html = _test(txt, encoding, encoding)
-        self.assertEqual('Vögel' in html, True)
-        self.assertEqual('Öfen' in html, True)
+        self.assertEqual('V\xc3\xb6gel' in html, True)
+        self.assertEqual('\xc3\x96fen' in html, True)
 
         html = _test(txt, encoding, 'unicode')
-        self.assertEqual(unicode('Vögel', encoding) in html, True)
-        self.assertEqual(unicode('Öfen', encoding) in html, True)
+        self.assertEqual(unicode('V\xc3\xb6gel', encoding) in html, True)
+        self.assertEqual(unicode('\xc3\x96fen', encoding) in html, True)
 
         html = _test(unicode(txt, encoding), 'unicode', encoding)
-        self.assertEqual('Vögel' in html, True)
-        self.assertEqual('Öfen' in html, True)
+        self.assertEqual('V\xc3\xb6gel' in html, True)
+        self.assertEqual('\xc3\x96fen' in html, True)
 
         html = _test(unicode(txt, encoding), 'unicode', 'unicode')
-        self.assertEqual(unicode('Vögel', encoding) in html, True)
-        self.assertEqual(unicode('Öfen', encoding) in html, True)
+        self.assertEqual(unicode('V\xc3\xb6gel', encoding) in html, True)
+        self.assertEqual(unicode('\xc3\x96fen', encoding) in html, True)
 
     def testHeaderLevel(self):
-
-        encoding = 'iso-8859-15'
+        encoding = 'utf-8'
         for level in range(0, 5):
             html = HTML(txt, input_encoding=encoding, 
                              output_encoding=encoding, 
@@ -71,7 +70,8 @@
             expected = '<h%d>Hello World</h%d>' % (level+1, level+1)
             self.assertEqual(expected in html, True)
 
-            expected = '<h%d>Von Vögeln und Öfen</h%d>' % (level+1, level+1)
+            expected = '<h%d>Von V\xc3\xb6geln und \xc3\x96fen</h%d>' % (
+                level+1, level+1)
             self.assertEqual(expected in html, True)
 
     def testWithSingleSubtitle(self):

Modified: Zope/trunk/src/webdav/litmus-results.txt
===================================================================
--- Zope/trunk/src/webdav/litmus-results.txt	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/webdav/litmus-results.txt	2011-07-02 17:07:04 UTC (rev 122063)
@@ -158,7 +158,7 @@
 
       Zope responds to this with a success response like this:
 
-        <?xml version="1.0" encoding="iso-8859-15" ?>
+        <?xml version="1.0" encoding="utf-8" ?>
         <d:prop xmlns:d="DAV:">
           <d:lockdiscovery>
             <d:activelock>

Modified: Zope/trunk/src/webdav/xmltools.py
===================================================================
--- Zope/trunk/src/webdav/xmltools.py	2011-07-02 16:22:43 UTC (rev 122062)
+++ Zope/trunk/src/webdav/xmltools.py	2011-07-02 17:07:04 UTC (rev 122063)
@@ -26,7 +26,7 @@
    NOTE: So far i didn't have any problems.
          If you have problems please report them.
 
- - We are using a hardcoded default of latin-1 for encoding unicode
+ - We are using a hardcoded default of utf-8 for encoding unicode
    strings. While this is suboptimal, it does match the expected
    encoding from OFS.PropertySheet. We need to find a the encoding
    somehow, maybe use the same encoding as the ZMI is using?
@@ -59,11 +59,11 @@
         _ent.update(entities)
     return _unescape(value, entities)
 
-# XXX latin-1 is hardcoded on OFS.PropertySheets as the expected
+# utf-8 is hardcoded on OFS.PropertySheets as the expected
 # encoding properties will be stored in. Optimally, we should use the
 # same encoding as the 'default_encoding' property that is used for
 # the ZMI.
-zope_encoding = 'latin-1'
+zope_encoding = 'utf-8'
 
 class Node:
     """ Our nodes no matter what type

_______________________________________________
Zope-Checkins maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-checkins
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.