Re: Re: Sonderzeichen-Problem im ZMI / Page Template bei MySQL DB Abfrage

Sascha Gottfried <[email protected]>
Newsgroups gmane.comp.web.zope.german
Message-ID <[email protected]>
Hi Nico,
folgendes zum Background:

Mit ZMySQLDA 3.1.1 und aktiver unicode option für die Z MySQL 
Connection, holt eine ZSQL Methode, die Daten aus MySQL als 
Unicode-Objekt. Wenn du das Objekt in ein ZPT steckst, wird das in der 
Anzeige entsprechend der Einstellung für default-zpublisher-encoding 
(zope.conf) gerendert. Dein Code benötigt für eine korrekte Anzeige dann 
in der Regel keine Konvertierung.

Auszug aus meiner zope.conf
default-zpublisher-encoding utf-8


Bei deinem Ansatz mit MySQLdb ist entscheidend, wie du die die 
Verbindung zu MySQL-DB konfigurierst. Du musst der Verbindung sagen, 
dass die Daten in der DB in utf-8 kodiert. Die Unicode-Option für die 
ZMySQL Connection setzt dann wohl den Parameter 'use_unicode', so dass 
eine SQL-Abfrage (ob nun über mysqldb oder ZSQL-Methode ) 
Unicode-Objekte liefert.

import MySQLdb
__db = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASS, 
db=DB_NAME, charset = "utf8", use_unicode = True)

Siehe
http://www.harelmalka.com/?p=81


Falls du einen Python Unicode Experten in deiner Nähe hast, besuche ihn. 
Du musst verstehen, was encode(), decode(), unicode() und str() mit den 
Daten macht. Dann kannst du dir das gut skizzieren und den Weg der Daten 
aus der DB in das ZPT nachvollziehen. Mit einer älteren ZMySQLDA Version 
(2.0.8 o.ä) ist das etwas anders.

Falls es nicht klappt, nenne Versionen und relevante Einstellungen und 
führe sie in deiner Antwort auf.
Python, Zope/Plone, mysql-python, ZMySQLDA und Properties, 
default-zpublisher-encoding, evtl. Konvertierung in deinem Code nennen.

Sascha



_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope
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.