AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken € zeichen macht probleme beim Einfügen in die db
Thema durchsuchen
Ansicht
Themen-Optionen

€ zeichen macht probleme beim Einfügen in die db

Ein Thema von khh · begonnen am 8. Aug 2011 · letzter Beitrag vom 9. Aug 2011
Antwort Antwort
Seite 2 von 3     12 3      
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#11

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 07:37
gibts bei UTF-8 nicht Probleme mit Sonderzeichen und Umlauten, oder verwechsel ich da was ?
Karl-Heinz
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#12

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 07:38
Gefunden auf http://www.postgresql.org/files/docu...AX-IDENTIFIERS
Zitat:
SQL-Namen und -Schlüsselwörter müssen mit einem Buchstaben (a-z, aber auch Umlaute und nichtlateinische Buchstaben) oder einem Unterstrich (_) beginnen. Die nachfolgenden Zeichen in einem Namen oder einem Schlüsselwort können Buchstaben, Ziffern (0-9) oder Unterstriche sein, obwohl der SQL-Standard kein Schlüsselwort definieren wird, das Ziffern enthält oder mit einem Unterstrich beginnt oder endet.
Und in einer ANSI-SQL Definition finde ich eine Auflistung der im Standard bekannten Zeichen, aus dehnen auch Feldbezeichner bestehen dürfen.
Zitat:
Code:
         Define the terminal symbols of the SQL language and the elements of
         strings.

         Format

         <SQL terminal character> ::=
                <SQL language character>
              | <SQL embedded language character>

         <SQL embedded language character> ::=
                <left bracket>
              | <right bracket>

         <SQL language character> ::=
                <simple Latin letter>
              | <digit>
              | <SQL special character>

         <simple Latin letter> ::=
                <simple Latin upper case letter>
              | <simple Latin lower case letter>

         <simple Latin upper case letter> ::=
                    A | B | C | D | E | F | G | H | I | J | K | L | M | N | O
              | P | Q | R | S | T | U | V | W | X | Y | Z

         <simple Latin lower case letter> ::=
                    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o
              | p | q | r | s | t | u | v | w | x | y | z

         <digit> ::=
              0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

         <SQL special character> ::=
                <space>
              | <double quote>
              | <percent>
              | <ampersand>
              | <quote>
              | <left paren>
              | <right paren>
              | <asterisk>
Auch wenn einzelne DB Sonderzeichen unterstützen, ist es imho kein guter Stil, dieses 'Feature' auch zu nutzen. Man sollte den kleinesten gemeinsamen Nenner, also die auch aus der Programmierung bekannten Regeln für Bezeichner verwenden.

ich kann mit einem Feldnamen "/(_€$" einfach nichts anfangen, tut mir leid
Das Bild hängt schief.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 07:44
Wieso Feldnamen? Es geht um den Feldinhalt, nicht um Bezeichner.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 08:13
gibts bei UTF-8 nicht Probleme mit Sonderzeichen und Umlauten, oder verwechsel ich da was ?
Nur wenn Firebird oder ZEOS hier Fehler hätten/haben. Ansonsten kann man mit UTF-8 alle Weltweit definierten Schriftzeichen abbilden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#15

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 08:58
Ja bei UTF -8 macht firebird die Sortierung eindeutig falsch. Umlaute kommen dann erst nach Z und das ß wird auch falschbehandelt. Und bei der Übernahme von Ansi zeichen hat er bei uns kleinbustabige umlaute total zerstört...

Das passiert alles bei ISO-8859-1 Collation DE_DE nicht.

Und kann es sein das mein firebird kein ISO-8859-15 hat? Habe nur ISO-8859-13 dokumentiert gefunden.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#16

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 09:31
Ich nutze in solchen Fällen immer die Währungskürzel
EUR
So was sieht man selten. Ansonsten gilt eher das Prinzip : warum einfach, wenn es auch kompliziert geht ?
Naja, Du hast schon Recht auf dem Wochenmarkt ist das eher unüblich. Im internationalen Zahlenlungsverkehr eher nicht. Da beschränkt sich der weise Mann auf 7Bit-ASCII.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#17

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 09:43
Ja bei UTF -8 macht firebird die Sortierung eindeutig falsch. Umlaute kommen dann erst nach Z und das ß wird auch falschbehandelt. ... gefunden.
Gibts da bei Firebird nicht die Möglichkeit eigene Collations anzulegen: Bei Google suchenFirebird create collation. Zumindest mit unicode sollte man da die Sortierung auf ISO8859_1 einstellen können. Ich benutze selbst aber kein Firebird, ist also nur eine Vermutung.
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#18

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 13:12
@QuickAndDirty: Das ist bei der Default Collation UTF8 der Fall, aber z.B. nicht bei der Collation UNICODE im Kontext des UTF8 Zeichensatzes.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#19

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 14:25
Habe testweise neue DB angelegt (FB 2.1):

Code:
SET SQL DIALECT 3;

SET NAMES ISO8859_1;

CREATE DATABASE ...
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 4096
DEFAULT CHARACTER SET ISO8859_1;
Dann noch Tabelle mit einem Feld. In Delphi kleines Programm gemacht (1 Edit, 1 DBEdit). In IBExpert ein € eingegeben. Mit Programm den Datensatz gelesen und Feld an Edit übergeben. Was steht im Edit ? Ein €. Das DBEdit holt sich das € sowieso direkt aus der Datasource. Es gelingt mir nicht KEIN € hinzukriegen.

Zum € an sich : ich würde mir wirklich überlegen, ob das überhaupt Sinn macht, das zu verwenden. Da zählen eigentlich nur Platzgründe. Und wird der Platz eng, dann lässt man die Währung eben notfalls weg. Jeder Hausfrau wird klar sein, wenn auf ihrer Rechnung steht "Butter 0,99", dass es sich bei 0,99 um einen Geldbetrag handelt. Dass sie mit Euros bezahlt hat, das weiss sie auch. Kommen ausländische Währungen ins Spiel, dann nützt 1 Zeichen als Abkürzung sowieso nichts, ausser man braucht ausgerechnet nur €,$ oder und da fängt der Kleinkram wieder an : britisches Pfund, bei dem ich jetzt nicht mal weiss, wie ich das komische "L" hinkriege. Was bleibt einem bei schweizer Franken übrig, als CHF zu verwenden ? Oder Rubel? Spätestens dann ist die "Platzersparnis" für die Katz. Und selbst wenn es da Abkürzungen a la € gibt, dann kennt die kein Mensch. Nächste Fehlerquelle bei exotischen Zeichen wurde übrigens noch nicht angesprochen : Drucker. Also mir reicht jedenfalls schon ä,ö usw. € muss nicht auch noch sein.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: € zeichen macht probleme beim Einfügen in die db

  Alt 9. Aug 2011, 14:31
Wie schon gesagt, bei mir ging es auch. Allerdings: wenn es bei Unicode keine Probleme gibt (Lazarus ist AFAIK schon lange unicode-fähig), wieso nicht benutzen? Es geht ja u.U. nicht nur um Preisangaben, andere Werte (Beschreibungen oder sowas) können ja durchaus auch spezielle Zeichen beinhalten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz