wie beam ich mich schnell auf die Postgresql?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

3ff
User
Beiträge: 191
Registriert: Dienstag 22. Dezember 2009, 12:54
Wohnort: Odenwald Sued-Hessen

@archilles_69 von 13.31
hat nichts bewirkt.
der String u"Ärztehaus"
wird zu u'\xc4rztehaus'
ohne Fehlermeldung.
ich vermute, das der Datenbankserver das nicht richtig umsetzt.
Tschau
Fritz
BlackJack

@3ff: Ich vermute Du möchtest Dich mit Python-Grundlagen beschäftigen, insbesondere mit dem Unterschied von `str()` und `repr()` und wie zum Beispiel die `str()`-Darstellung von Datenstrukturen wie Listen oder Tupeln erstellt werden. Ich vermute Du siehst da ein Problem das gar keines ist und interpretierst einfach nur Deine Ausgaben falsch.

Code: Alles auswählen

In [111]: u"Ärztehaus"
Out[111]: u'\xc4rztehaus'

In [112]: print u"Ärztehaus"
Ärztehaus

In [113]: print repr(u"Ärztehaus")
u'\xc4rztehaus'

In [114]: print [u"Ärztehaus"]
[u'\xc4rztehaus']
3ff
User
Beiträge: 191
Registriert: Dienstag 22. Dezember 2009, 12:54
Wohnort: Odenwald Sued-Hessen

@BlackJack
Bingo,
ich hab repr() ersetzt durch str()
dann gehts.
Nach meiner PYthonbibel ist Funktion repr() die druckbare Repräsentation eines objekts!
Also ausgedruckt hab ich die Geschichte noch nicht.
str() ist ein Stringobjekt.
Ich hatte schon was schlimmers vermutet,
der Postgresql client hat einen anderen zeichensatz als der Server.
da gibts 1 SQL kommando SHOW CLIENT_ENCODING;
das bringt UTF-8 zurück.
mit psql -l listet er die Datenbanken auf und deren Zeichenketten.
Da sehe ich bei mir Unterschiede.
dies kann man auch in der postgrsql.conf eintragen
da gibts unterschiedliche locale
lc_Messages ist der zeichensatz der Meldungen
lc_Collate ist der Zeichensatz des Sortierers.
Ich hab es noch nicht geschafft, heute nachmittag, das zu ändern.
Da muss man das system runterfahren und neu booten, weil postgresql auf Level 0 arbeitet in der Programmschlange. jetzt mach ich aber schluß für heute.
Grüße Fritz
:roll:
Antworten