Fragezeichen statt Umlaute

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
TErxleben
Beiträge: 18
Registriert: Mi 24. Mär 2010, 18:54

Re: Fragezeichen statt Umlaute

Beitrag von TErxleben »

Die Zeichensätze in der Anwendung umzuwandeln ist ein schwerer Fußfehler. Genau so erbst Du die von Dir beschriebenen Probleme (anzeige, suchen, sortieren). Versuche möglichst *immer* mit utf8 zu arbeiten (vor allem, wenn Mehrsprachigkeit mal ein Thema sein könnte). Anders wirst Du das Problem *nie* los.

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Fragezeichen statt Umlaute

Beitrag von hde »

Sorry, aber zum "Fußfehler" wird's nur dann, wenn man nicht weiß was man tut und unsauber programmiert. Es gibt oft Programme (ohne UTF8) mit denen man kooperieren muss, DBs die's nicht können oder Altdaten die man nicht konvertieren sollte.

Anzeigen, Suchen, Sortieren geht mit allen Charaktersätzen, das ging auch bevor es UTF8 gab. Man muss nur den Überblick behalten.

Gruß hde

laines
Beiträge: 45
Registriert: Mo 18. Apr 2011, 08:30

Re: Fragezeichen statt Umlaute

Beitrag von laines »

Guten Morgen

Bitte nicht vergessen, dass die DB von der ich spreche nicht ich erstelle sondern ein anderes Programm.
Ich schreibe hier nur ein kleines AddOn.

Gruß
Laines

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Fragezeichen statt Umlaute

Beitrag von Christian »

Die DB kann wie ich schon geschrieben habe auch kein UTF8 ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Fragezeichen statt Umlaute

Beitrag von mse »

Falls es jemanden interessiert, wie das Problem in MSEgui gelöst wird:
- tmsesqlquery speichert Textfelder als UnicodeString mit variabler Länge, dies behebt auch das Problem der unterschiedlichen Feld- und Bytelängen.
- Beim lesen von der DB und beim schreiben zur DB wird UnicodeString entweder nach der Systemcodierung oder nach utf-8 gewandelt.
- Die Wahl utf-8 oder Systemcodierung lässt sich für t*connection und auch für einzelne datasets vornehmen.

Martin

TErxleben
Beiträge: 18
Registriert: Mi 24. Mär 2010, 18:54

Re: Fragezeichen statt Umlaute

Beitrag von TErxleben »

hde hat geschrieben:Sorry, aber zum "Fußfehler" wird's nur dann, wenn man nicht weiß was man tut und unsauber programmiert. Es gibt oft Programme (ohne UTF8) mit denen man kooperieren muss, DBs die's nicht können oder Altdaten die man nicht konvertieren sollte.

Anzeigen, Suchen, Sortieren geht mit allen Charaktersätzen, das ging auch bevor es UTF8 gab. Man muss nur den Überblick behalten.

Gruß hde
1)
Bei einer DB, die von unterschiedlichen Quellen (nicht beeinflussbaren) befüllt wird, kannst du selbst so sauber programmieren wie du willst und die DB hat immer ein Problem. Außer die DB verwendet erkennbar utf8.

2)
Warum sollte man eine DB nicht Richtung utf8 konvertieren können sobald diese das unterstützt (sofern man die "Lufthoheit" darüber beitzt)?

3)
Anzeigen, Suchen und Sortieren war und ist IMMER noch ein Problem sofern Datenbanken utf8 nicht vernünftig unterstützen (da es durchaus noch jede Menge Altlasten gibt). Oder wie kriegst Du Keilschrift in eine DB welche nur einen deutschen Charset unterstützt?

4)
Wenn man Datenbanken unterstützen muss, welche lediglich mit irgendwelchen Gurken-Charsets umgehen können, dann hat man einfach ein Problem, welches man nicht wegdiskutieren kann. Dann *muss* man in der Anwendung umwandeln. Ist aber eben alles endere als optimal (außer man ist einer der letzten Verfechter des FAT-Client-Prinzips und ignoriert modernere Entwicklungsparadigmen).

5)
Und mir fällt heutzutage KEIN Problem ein, welches eine ordentliche Trennung zwischen Client und Server bei Neuentwicklungen rechtfertigen könnte.

Gruß
Erx

laines
Beiträge: 45
Registriert: Mo 18. Apr 2011, 08:30

Re: Fragezeichen statt Umlaute

Beitrag von laines »

Tut mir Leid wenn ich jetzt etwas unhöflich klinge.
Wird das jetzt eine Grundsatzdiskussion oder lösen wir hier im Forum Fragen und Probleme.

Ich habe übrigens das Problem mit dem Suchen gelöst. Der Fehler lag an den ANFÜHRUNGSZEICHEN (über der 2) es müssen im Format() 2 Einfache (über der Raute#) sein.

Gruß
Laines

(Mich bitte jetzt nicht ignorieren, wenn ich wieder mal eine Frage habe)

TErxleben
Beiträge: 18
Registriert: Mi 24. Mär 2010, 18:54

Re: Fragezeichen statt Umlaute

Beitrag von TErxleben »

laines hat geschrieben:Tut mir Leid wenn ich jetzt etwas unhöflich klinge.
Wird das jetzt eine Grundsatzdiskussion oder lösen wir hier im Forum Fragen und Probleme.

Ich habe übrigens das Problem mit dem Suchen gelöst. Der Fehler lag an den ANFÜHRUNGSZEICHEN (über der 2) es müssen im Format() 2 Einfache (über der Raute#) sein.

Gruß
Laines

(Mich bitte jetzt nicht ignorieren, wenn ich wieder mal eine Frage habe)
Keine Angst habe ich nicht als unhöflich empfunden.
Mein Beitrag war keinesfalls als Grundsatzdiskussion, sondern eher als Anregung gedacht :wink:

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Fragezeichen statt Umlaute

Beitrag von hde »

mh ... zum Glück bin ich selten in diesem Forum und treff deshalb nicht auf Leute die angeblich seit 30 jahren programmieren aber dann überheblich solchen "Quatsch" erzählen. Wohl ein "Schönwetter"programmer.

Also Laines, wenn deine DB nur Ansi kann oder deine Daten in Ansi vorliegen, übersetze nach jedem Lesen und vor jedem Schreiben und es wird keine größeren Probs geben. Sortieren konnten wir auch vor über 40 Jahren schon, sogar Lochkarten. Keilschrift und Runen lassen wir mal außen vor. :wink:

Solltest du allerdings auf dem Mac arbeiten und Daten nicht nur mit diversen DBs sondern auch noch gleichzeitig mit word:mac austauschen müssen, wird's etwas kompliziert, aber auch das ist gelöst. Dann melde dich.

Lass dich nicht beirren.

Gruß hde

laines
Beiträge: 45
Registriert: Mo 18. Apr 2011, 08:30

Re: Fragezeichen statt Umlaute

Beitrag von laines »

Morgen hde

Ich lass mich nicht beirren :D
Das ist eh erst mal der Einstieg ob mir das Spaß macht und ganz wichtig, ob ich das programmieren auch kapiere.

P.s. Ich suche noch ein gutes Forum für C# (am besten für komplette NEWBIES) wie mich.

Gruß
Laines

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Fragezeichen statt Umlaute

Beitrag von hde »

Hallo Laines,

kapieren wirst du es, da bin ich mir ganz sicher, auch wenn in meinen Augen beim flüchtigen Hinschauen einiges "um die Ecke herum" von dir gelöst wird. Aber nimm es nicht als Kritik, das wird schon. Leider bin beruflich so im Stress dass ich mir das nicht näher anschauen kann zumal meine Objekte ganz wo anders liegen.

Aber wenn du wirklich neu anfängst, verzettele dich nicht und werde erst mal fit in einer Sprache. Die C-Sprachen haben zwar die gleichen Funktionen wie Pascal, aber die Syntax ist anders. Und wenn du beide gleichzeitig lernst verwirrt das nur.

Gruß hde

laines
Beiträge: 45
Registriert: Mo 18. Apr 2011, 08:30

Re: Fragezeichen statt Umlaute

Beitrag von laines »

Danke für den Tipp ich werde es mir zu Herzen nehmen.

Kritik sieht anders aus. Sonst würde ich nicht meine Fragen hier stellen.
Ich habe auch schon einige Verbesserungen gemacht. Ich arbeite z.B. schon mit const und Format() (STOLZ).

Gruß
Laines

Antworten