Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MS-SQL 2005 - Datenbank: Zeichenkodierung konvertieren?

Empfohlene Antworten

Veröffentlicht

Hallo,

vielleicht kann mir hier jemand helfen....

Ich habe ein PHP-Programm von ISO-8859-1 auf UTF-8 umgestellt, also Zeichensätze der Dateien und im HTML-Header geändert. Nun hab ich ein Problem mit den Daten, welche bisher mit dem Programm in die DB eingetragen wurden.

Dort werden nun nämlich die 'Rechtecke mit Fragezeichen' (�) anstatt der gewünschten Sonderzeichen ausgegeben.

Gibt es eine Einstellung für die MS-SQL-Datenbanken, in welcher Kodierung die Daten rein geschrieben und ausgelesen werden? Und wie kann ich die vorhandenen Daten konvertieren?

Würde mich freuen, wenn mir wer n Tipp geben kann.

Hi ennor,

dein SQL Server wandelt implizit in den Datentyp, den du beim Anlegen der entsprechenden Spalte deiner Tabelle angegeben hast.

Bei varchar(x) entscheidet die eingestellte Collation ueber die verwendete Codepage.

Hast du ein nvarchar(x) verwendet, so enthaelt die Spalte ne UCS-2 Codierung.

Entweder wandelst du nun beim Schreiben/Lesen aus/in die Datenbank nach UCS-2 und verwendest nvarchar(x) (natuerlich nur insofern dir der UCS-2 Zeichenvorrat ausreicht), oder du verwendest den Datentyp varbinary(x).

Bei varbinary(x) kannst du problemlos deine UTF-8 codierten Strings speichern. Eventueller Nachteil ist, dass du mit einer solchen Spalte dann datenbankintern laengst nicht mehr alles machen kannst, was du vielleicht sonst vielleicht auf einer Charakter Spalte tun wuerdest.

Goos

Danke für die Antwort Goos,

aber mein Problem sind ja die gespeicherten Daten. Die werden mit falschen (oder besser: anderen) Umlauten ausgelesen bzw. angezeigt...

Gibt es da eine Möglichkeit, die zu konvertieren?

Zur Zeit befürchte ich, das ich mit einem Skript alle Datensätze laden, mit iconv (o.ä.) umwandeln und wieder speichern müsste.

Das würde mit nem SQL-Skript besser gehen (TRANSLATE ?)

Grüße

Hi ennor,

Eine Umwandlung nach UTF-8 gibts auf jden Fall nicht. Ansonsten haengts davon ab, unter welchem Datentyp du momentan gespeichert hast und welchen Datentyp du in Zukunft verwenden willst.

Goos

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.