Gibt es eine Möglichkeit, arabische Daten mit Postgres zu speichern?

8

Ich bin ein PHP-Entwickler und arbeite an einem Projekt, in dem ich arabische Daten in meiner Datenbank speichern muss.

Allerdings habe ich die Anwendung erstellt und einen JavaScript-arabischen Kalender darin eingebettet.

Wenn ich jetzt ein Datum, z. B. 12/02/1442 , auswähle und auf die Schaltfläche zum Speichern drücke, wird der folgende Fehler angezeigt:

%Vor%     
ScoRpion 14.10.2011, 13:02
quelle

3 Antworten

6

Diese Daten (Arabisch, Jalali, ...) haben normalerweise Probleme mit SQL-Servern. Nach meiner Erfahrung gibt es 3 Möglichkeiten, damit umzugehen:

  1. Verwenden Sie Zeichen -Typen zum Speichern von Daten in den Feldern mit einem benutzerdefinierten Format. (Das Problem sind: Manipulieren, Rechnen, Sortieren, ... die schwer zu implementieren sind)

  2. Verwenden Sie ganze oder feste Zeichen zum Speichern von Daten, wie 14420101 für 1/1/1442 . (Wie beim ersten, aber das Sortieren ist gelöst)

  3. Wenn Sie date oder timestamp zum Speichern verwenden, sollten Sie Daten in das Standard-Datumsformat konvertieren, bevor Sie sie in der Datenbank speichern und wenn Sie sie lesen wandle sie zurück. Diese Methode benötigt eine externe Programmiersprache, um zu handhaben (normalerweise gibt es eine externe Sprache) . Oder Sie können eine interne Funktionen in Ihre Datenbank schreiben.

Wenn nur Daten gespeichert werden, sind die Methoden 1 und 2 ausreichend.

Andernfalls schlage ich einen dritten Ansatz vor, weil Sie die vordefinierten Funktionen date und time verwenden können, die in Datenbankservern oder Programmiersprachen vorhanden sind.

Zum Beispiel können Sie date_diff() einfach in PHP verwenden oder interne Postgres-Funktionen für Daten verwenden.

    
deepmax 14.10.2011, 14:32
quelle
1

Ich denke, das wäre eine perfekte Anwendung, um einen benutzerdefinierten Datentyp zu schreiben. Vielleicht hat es jemand schon gemacht, oder Sie könnten anfangen.

    
Peter Eisentraut 21.10.2011 18:26
quelle
0

PostgreSQL unterstützt die Eingabe und Ausgabe von Datumsangaben und Zeitstempeln als Julian Day. Die zwei entsprechenden Abschnitte im Handbuch:

Das könnte helfen, wenn Sie Berechnungen in der Datenbank durchführen wollen. Wenn das kein Problem ist, speichern Sie die Daten einfach als Masoud M vorgeschlagen hat.

    
A.H. 14.10.2011 16:01
quelle

Tags und Links