Benutzer mit den meisten Antworten
MSSQL server 2008 seit kurzem alle umlaute in deutsch "?"

Frage
Antworten
-
Hallo,
hier kann wieder nur raten:
Verwende SqlParameter Instanzen, anstatt der - nicht nur - unleserlichen Verkettung.Du übergibst ein Ansi-Literal - es fehlt das N' für Unicode Literale
und .NET arbeitet intern immer mit Unicode.Gruß Elmar
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 8. Juni 2010 14:53
-
Hallo,
nein, der SQL Server "is(s)t" niemals UTF-8.
Es arbeitet wie das .NET Framework intern bestenfalls mit Unicode (UTF-16/UCS-2)
und unterstützt zudem diverse ANSI-Codierungen, siehe
Sortierung und Unicode-UnterstützungDa ich Deine Tabellendefinition nicht kenne, weiss ich nicht,
welche Sortierung dort eingestellt ist.Gruß Elmar
- Bearbeitet Elmar Boye Dienstag, 8. Juni 2010 11:14 Link korrigiert
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 8. Juni 2010 14:53
Alle Antworten
-
Hallo aktony,
was genau hast Du installiert, das Service Pack 1 für den MS SQL Server 2008?
Wo wird Dir das Fragezeichen angezeigt, im Management Studio Abfrage Fenster oder in einer anderen Applikation?Updates ändern normalerweise nie etwas an den User-Objekten und erst recht nicht an den Daten. Die Anzeige von Fragezeichen kenne ich bisher nur in Zusammenspiel mit Unicode (z.B. asiatische Zeichen) und Controls und/oder Fonts, die Unicode nicht richtig darstellen können.
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de -
Also ich habe den mssql express 2008 "SQLEXPRADV_x86_DEU.exe"installiert.
Habe nun alles neu aufgesetzt und keine updates gezogen und musste feststellen das es immer noch so ist.
ich Verstehe das problem nicht.
zur erleuterung:
ich habe ein programm in VB erstellt welches daten in den sql server schaufeln soll dort füge ich die daten mit diesem befehl ein.
cmd.CommandText = "INSERT INTO [" & tm & "] ([" & teilarry(0) & "], [" & teilarry(1) & "], [" _ & teilarry(2) & "], [" & teilarry(3) & "], [" & teilarry(4) & "], [" & teilarry(5) & "], [" _ & teilarry(6) & "], [" & teilarry(7) & "], [" & teilarry(8) & "], [" & teilarry(9) & "], [" _ & teilarry(10) & "], [" & teilarry(11) & "], [" & teilarry(12) & "], [" & teilarry(13) & "], [" _ & teilarry(14) & "], [" & teilarry(15) & "], [" & teilarry(16) & "], [" & teilarry(17) & "], [" _ & teilarry(18) & "], [" & teilarry(19) & "], [" & teilarry(20) & "], [" & teilarry(21) & "], [" _ & teilarry(22) & "], [" & teilarry(23) & "], [" & teilarry(24) & "], [" & teilarry(25) & "], [" _ & teilarry(26) & "], [" & teilarry(27) & "], [" & teilarry(28) & "], [" & teilarry(29) & "], [" _ & teilarry(30) & "], [" & teilarry(31) & "], [" & teilarry(32) & "], [" & teilarry(33) & "], [" _ & teilarry(34) & "], [" & teilarry(35) & "], [" & teilarry(36) & "], [" & teilarry(37) & "], [" _ & teilarry(38) & "], [" & teilarry(39) & "], [" & teilarry(40) & "], [" & teilarry(41) & "], [" _ & teilarry(42) & "], [" & teilarry(43) & "], [" & teilarry(44) & "])" _ & "VALUES ('" _ & teilarrayFI(0) & "', '" & teilarrayFI(1) & "', '" & teilarrayFI(2) & "', '" & teilarrayFI(3) & "', '" _ & teilarrayFI(4) & "', REPLACE('" & teilarrayFI(5) & "', ',', '.'), '" & teilarrayFI(6) & "', '" & teilarrayFI(7) & "', '" _ & teilarrayFI(8) & "', '" & teilarrayFI(9) & "', '" & teilarrayFI(10) & "', '" & teilarrayFI(11) & "', '" _ & teilarrayFI(12) & "', '" & teilarrayFI(13) & "', '" & teilarrayFI(14) & "', '" & teilarrayFI(15) & "', '" _ & teilarrayFI(16) & "', REPLACE('" & teilarrayFI(17) & "', ',', '.'), REPLACE('" & teilarrayFI(18) & "', ',', '.'), '" & teilarrayFI(19) & "', REPLACE('" _ & teilarrayFI(20) & "', ',', '.'), '" & teilarrayFI(21) & "', '" & teilarrayFI(22) & "', '" & teilarrayFI(23) & "', '" _ & teilarrayFI(24) & "', '" & teilarrayFI(25) & "', '" & teilarrayFI(26) & "', '" & teilarrayFI(27) & "', '" _ & teilarrayFI(28) & "', '" & teilarrayFI(29) & "', '" & teilarrayFI(30) & "', '" & teilarrayFI(31) & "', '" _ & teilarrayFI(32) & "', '" & teilarrayFI(33) & "', '" & teilarrayFI(34) & "', '" & teilarrayFI(35) & "', '" _ & teilarrayFI(36) & "', '" & teilarrayFI(37) & "', '" & teilarrayFI(38) & "', '" & teilarrayFI(39) & "', '" _ & teilarrayFI(40) & "', '" & teilarrayFI(41) & "', '" & teilarrayFI(42) & "', '" & teilarrayFI(43) & "', '" _ & teilarrayFI(44) & "');"
habe ausprobiert das mit [] mit ` aber einfügen tut er die daten nur mit '' .
nur sind eben genau da dann immer alle Ö Ä Ü ´s durch "?" dargestellt.
ich verstehe es nicht da es vorher ohne probleme funkte...
-
Hallo,
hier kann wieder nur raten:
Verwende SqlParameter Instanzen, anstatt der - nicht nur - unleserlichen Verkettung.Du übergibst ein Ansi-Literal - es fehlt das N' für Unicode Literale
und .NET arbeitet intern immer mit Unicode.Gruß Elmar
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 8. Juni 2010 14:53
-
und wie mit welchem Encoding liest Du die Dateien ein???
Es kommt nicht nur darauf an, in welchem Zeichensatz die Datei vorliegt,
sondern auch dass man dem StreamReader/TextReader, das richtige Encoding vorgibt.
Voreingestellt ist UTF-8, für Windows Ansi verwende Encoding.Default
Gruß Elmar -
Hallo,
nein, der SQL Server "is(s)t" niemals UTF-8.
Es arbeitet wie das .NET Framework intern bestenfalls mit Unicode (UTF-16/UCS-2)
und unterstützt zudem diverse ANSI-Codierungen, siehe
Sortierung und Unicode-UnterstützungDa ich Deine Tabellendefinition nicht kenne, weiss ich nicht,
welche Sortierung dort eingestellt ist.Gruß Elmar
- Bearbeitet Elmar Boye Dienstag, 8. Juni 2010 11:14 Link korrigiert
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 8. Juni 2010 14:53
-
Latin1_general_CI_AS
aber ich habe jetzt das so gemacht wie du gesagt hast einfach den
Dim strelesen As New StreamReader(fileTXT, System.Text.Encoding.Default)
so eingestellt nun liest er alles so wie er soll.
super danke für die schnelle und gute hilfe.