Re: MySQL -> MSSQL



mark.knochen@xxxxxxxxxxxxxx wrote:
Wegen binär funktionieren nämlich viele Zeichenfolgefunktionen beim
Datentyp TEXT nicht!
Wenn du aber wirklich Strings mit mehr als 8000 Zeichen hast,

Kann ja mal vorkommen, heisst das dann, dass z.B. UTF-8 nicht mehr
korrekt angezeigt werden kann?

Nein, wobei der SQL Server hat per Default ohnehin keinen Support für UTF-8. Die Unicode Unterstützung wird über eigene Datentypen (nchar, nvarchar, ntext) realisiert, hierbei wird als Encoding aber UCS-2 verwendet. Da Du eine PHP Applikation hast, kannst Du die erforderliche Konvertierung von UTF-8 auf UCS-2 leider vergessen (siehe google).
Du kannst die UTF-8 Daten also nur in einem normalen Textfeld ablegen, das funktioniert auch, der SQL Server kann allerdings die Unicode Daten nicht korrekt interpretieren (Zeichensalat, wenn Du mit EM oder Query Analyzer drauf gehst).

Bei Verwendung der MSSQL Extension ist allerdings noch etwas zu beachten:

Es werden bei varchar bzw. char maximal 255 Zeichen unterstützt. Es liegt daran, dass die Extension die DB Library von MS verwendet, die deprecated und auf dem Stand von SQL Server 7 ist (die Erhöhung von varchar von 255 auf 8000 Zeichen wurde nicht nachgezogen).

Richard
.



Relevant Pages

  • Re: ANSI oder nicht ANSI?
    ... Zeichen ist, kann so ein Zugriff auf eine bestimmte Position funktionieren. ... Wenn DU sicher bist, daß ein String nur Zeichen des Ansi oder UCS-2 Zeichensatzes verwendet, kannst Du die dafür passenden Datentypen und Funktionen verwenden. ... Und wenn ich die schon vor Jahren erfolgte Umstellung von VB auf Unicode zugrundelege, dann dürfte die ganze Aufregung auch bei Delphi in wenigen Tagen verflogen sein. ...
    (de.comp.lang.delphi.misc)
  • Re: Delphi und UTF-8
    ... Je nach Datentyp des Strings, als Ansi in AnsiString, als Unicode ... und als UTF-8 in UTF8String. ... Unicode Zeichen kann in UTF-16 auch mal 2 WideChars belegen ... Multi-WideChar Zeichen rechnen. ...
    (de.comp.lang.delphi.misc)
  • Re: Delphi und UTF-8
    ... Oder stelle um auf UTF-8, dann bleiben die Dateien etwa so ... die Anwendung darf ruhig mit Unicode Strings arbeiten. ... Ein Unicode Zeichen kann in UTF-16 auch mal 2 WideChars belegen, nur kommt das nicht so oft vor. ... es schon vorher nicht in 1 WideChar gepaßt hat, kann es nicht aus einem WideChar kommen, sondern nur aus einem String. ...
    (de.comp.lang.delphi.misc)
  • Re: Unicode (UTF-8) darstellen
    ... was 2 Bytes pro Zeichen benötigt. ... Im Gegensatz zu UTF-8 das ein bis 4 Zeichen für die ... 16 Bit Unicode (UTF-16). ...
    (microsoft.public.de.access)
  • Re: InterBase 2007: UTF-8, UCS-2 und
    ... UCS-2 entspricht der Unicode Implementation in Windows (2 Byte pro Zeichen), belegt auch immer 2 Byte pro Zeichen. ... UTF-8 kann durch variable Definition 1-3 Byte pro Zeichen belegen. ... UTF-8 kann Interbase schon länger, heisst dort UNICODE_FSS, UCS-2 ist neu dazugekommen. ... wenig Mehraufwand zu treiben, zum Beispiel mit den TNT Unicode Komponenten, da die VCL leider nicht Unicode fähig ist. ...
    (de.comp.lang.delphi.datenbanken)

Loading