Announcement

Collapse
No announcement yet.

MS SQL Unicode und PHP

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Irgendwie schaffe ich es nicht den PHP Datenstrom zu MS SQL (oder von PHP zum entsprechenden Treiber) auf Unicode "umzustellen".

    Bei MySQL gibt es die Möglichkeit mit einem SQL-Statement SET NAMES 'utf-8' etc. diesen vorzubereiten.

    Gibt es etwas verglecihbares für MS SQL?

    Oder gibt es eine Möglichkeit mittels T-SQL nvarchar Inhalt, der noch immer ISO-8859-1 Werte enthält in UTF-8 zu konvertieren?

    Comment


    • #17
      Wenn ihr ODBC mit den SQL Treibern nutzt: Da gibt es ein Häkchen "Konvertierung für Zeichendaten ausführen" (Info siehe Hilfe), das im Standard gesetzt ist.

      Vielleicht hilft's, wenn ihr das mal raus nehmt; Versuch ist es Wert.

      Gruß, Olaf
      Olaf Helper

      <Blog> <Xing>
      * cogito ergo sum * errare humanum est * quote erat demonstrandum *
      Wenn ich denke, ist das ein Fehler und das beweise ich täglich

      Comment


      • #18
        Originally posted by O. Helper View Post
        Wenn ihr ODBC mit den SQL Treibern nutzt: Da gibt es ein Häkchen "Konvertierung für Zeichendaten ausführen" (Info siehe Hilfe), das im Standard gesetzt ist.

        Vielleicht hilft's, wenn ihr das mal raus nehmt; Versuch ist es Wert.

        Gruß, Olaf

        Danke für die Idee, aber das hilft nicht. Das Problem ist definitiv PHP-seitig und wird sofern ich die Informationen richtig interpretiert habe erst ab PHP Version 6 gelöst sein. Es gibt aber eine Möglichkeit siehe unten.

        Comment


        • #19
          Lösung zum Problem PHP -> Unicode -> MS SQL scheinbar die einzig funktionierende!

          In Datenbank unicodefähige Felder, Datentyp nvarchar, nchar oder evtl. ntext

          $servername = 'SERVERNAME';
          $database = 'DATENBANKNAME';
          $username = 'USERNAME';
          $password = 'PASSWORT';

          $text = 'на зажимах';


          $conn = new COM("ADODB.Connection", NULL, CP_UTF8) or die("Fehler bei ADO-Connection");

          $conn->Open("Driver={SQL Server};Server={$servername};Database=$database;UI D=$username;PWD=$password;");

          $sql = "INSERT INTO mytable( text ) VALUES ( N'$text' )";
          $result = $conn->Execute($sql);

          Comment


          • #20
            Eine weitere Möglichkeit scheint odbtp zu sein.

            siehe hier
            http://phpmagazin.de/itr/online_arti...nguage,de.html

            und hier
            http://odbtp.sourceforge.net/

            Habs aber noch net komplett durchgespielt.
            Krieg noch keine Verbindung hin
            Zuletzt editiert von Baunz; 15.08.2007, 15:29.

            Comment


            • #21
              Also ich hab jetzt odbtp zum laufen bekommen und des funzt auf den ersten Blick ganz gut.

              Daher von meiner Seite die Empfehlung für Unicodeprobleme zwischen PHP und SQL-Server
              ==> odbpt

              Comment

              Working...
              X