Umlauteproblem bei Formulardaten -> MS SQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hannes_L
    antwortet
    Gerne, wenn mir jemand sagt oder nen Link gibt wie das bei einer ODBC-Verbindung rauszufinden ist. Irgendwelche Ansätze?

    lg Hannes

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    du solltest unbedingt mal testen, in welchem Zeichenformat deine Verbindung zur Datenbank läuft ...

    Einen Kommentar schreiben:


  • Hannes_L
    antwortet
    Also bisher umfasst die Datenbank ca. 4000 Datensätze. Neu eingetragen sind vielleicht bisher 100 Stück, das wäre noch händisch machbar. Jedoch verstehe ich immer noch nicht wieso es mir keine Umlaute einträgt bei ISO 8859-1.

    Ich hab das ganze nochmal lokal getestet, mit PHP 5.3.1, da funktioniert alles mit ISO-8859-1, ohne wenn und aber. Vielleicht wäre ein Update von PHP 5.2.10 auf 5.3.1 auf dem Server die einfachste Lösung ?!?

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    recht hast du - ich hatte das anfangs auch in meinem Post stehen, fand aber dann die Info nicht mehr soo wichtig und hab sie rausgenommen ... es hilft ihm ja wenig wenn die beiden dasselbe sind - und trotzdem in seinem Browser die Umlaute nicht korrekt dargestellt werden

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von eagle275 Beitrag anzeigen
    hm Latin1 General passt eigentlich ganz gut zu 8859-1
    Das liegt vermutlich daran, dass Latin-1 und ISO 8859-1 genau dasselbe ist.

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    hm Latin1 General passt eigentlich ganz gut zu 8859-1 (Western europe ) ,

    persönlich würde ich das php auf 8859-1 stellen, die Datenbank auf UTF-8 (funzt bei mir sowohl für Ausgabe als auch Eingabe, läuft nämlich über das gleiche Script) ..- jedenfalls hab ich da bisher keine Probleme bei mir festgestellt - was dir dann die "kleine" Arbeit überlässt, die in der Zwischenzeit fehlerhaft eingetragenen Daten händisch zu ändern .. je nachdem wie viele das sind, ist das eigentlich ne überschaubare Arbeit. wenn abgesichert ist, dass nicht dauernd neue dazukommen

    da ich aber mit ner MySQL zusammenarbeite , weiß ich leider nicht, wie du deine ODBC Connection entsprechend umstellst ..
    Zuletzt geändert von eagle275; 01.09.2010, 19:48.

    Einen Kommentar schreiben:


  • Hannes_L
    antwortet
    Ok, ich werde die Schritte durchgehen. Leider habe ich jedoch keinen direkten Zugriff auf den Rechner mit der Originalen DB, sondern nur eine lokale Testdatenbank auf einem SQL Server 2005. Kann ich das encoding eines Datensatzes aus der ferne per SQL-Statement auslesen? (Die Testdatenbank mit fiktiven Daten scheint Latin1_General_CI_AS zu sein).

    Kann ich bei einer ODBC-Verbindung das encoding einstellen? (Für JDBC geht dies ja über die Connection URL)

    Die HTML-Seiten in denen der PHP-Code eingebettet ist würde ich ja gerne im selben encoding haben, momentan wechselt es zwischen UTF-8 für Datenbankeingaben und ISO-8859-1 für die Anzeige von Datensätzen.

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    verwende überall die selbe codierung!

    1) Sind die Daten in der DB alle im selben Encoding?
    2) Prüfe ob die Verbindung zur Datenbank, auch hier über alle selbes Encoding?
    3) sind die "html-seiten" ebenfalls im selben Encoding?

    Danach sollte es klappen. Irgendwo scheinst du allerdings noch den Wurm drin zu haben.

    Einen Kommentar schreiben:


  • Hannes_L
    hat ein Thema erstellt Umlauteproblem bei Formulardaten -> MS SQL.

    Umlauteproblem bei Formulardaten -> MS SQL

    Hallo zusammen,

    ich hoffe ich habe das richtige Unterforum erwischt, sollte dies nicht der Fall sein wäre ich für ein Verschieben dankbar.

    Ich habe folgendes Problem bei einer Projektumsetzung:

    1) Umgebung
    - PHP 5.2.10
    - MS SQL Datenbank
    - ODBC Anbindung

    2) Vorhaben
    Es existiert bereitseine MS SQL-Datenbank welche Benutzerdaten beinhaltet. Nun soll mittels PHP neue Benutzer angelegt, sowie bestehende Benutzer verändert werden können. Grundprinzip des ganzen läuft soweit.

    3) Problem
    - Nach dem ersten Auslesen von Benutzerdaten fiel mir auf, das Personen die neu angelegt werden ohne Umlaute eingetragen werden. Bspw. wurde aus 'Hans Müller' in der Datenbank 'Hans Mller'.
    - Um dieses Problem zu umgehen habe ich im umgebenden HTML-Bereich den charset auf UTF-8 gestellt was soweit auch funktionierte - alle Personen wurden ordnungsgemäß mit Umlauten eingetragen.
    - Nun wurden aber die Umlaute mit UTF-8 vom Brwoser bei des Ausgabe nicht korrekt dargestellt, sondern lieferten nur Hyroglyphen. Dies wäre anfürsich nicht so schlimm, ich könnte ja notfalls die Seiten, welche Inhalte aus der Datenbank anzeigen, einfach auf charset ISO-8859-1 stellen. Jedoch stellt sich das ganze als Problem dar, wenn bereits erstellte Datensätze geändert werden sollen: Hier werden Daten aus der DB gelesen und in Formularfelder voreingetragen in denen man beliebige Änderungen vornehmen kann. Da aber das speichern nur in UTF-8 funktioniert, läd es mir den Namen 'Hans Müller' als 'Hans M[]ller' in das Formularfeld.


    Wie kann ich diesem ganzen Charset-Chaos entkommen, ohne am Ende eine zusammengefrickelte Lösung zu haben?

    Freue mich auf eine Antwort
    Hannes
Lädt...
X