none
MSSQL server 2008 seit kurzem alle umlaute in deutsch "?" RRS feed

  • Frage

  • seit update von microsoft alle umlaute falsch wie kann ich das wieder richte ich importiere tabellen in ANSI was immer funkte nun geht nichts mehr gesamte arbeit steht still.
    Montag, 7. Juni 2010 10:53

Antworten

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
    Montag, 7. Juni 2010 11:34
  • 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...

     

    Dienstag, 8. Juni 2010 09:26
  • so ich habe jetzt die datei in UTF-8 formatiert und da stimmt dann alles aber die dateien werden immer in ANSI gesendet.

    die kann ich das am server ändern???

    Dienstag, 8. Juni 2010 10:07
  • 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

    Dienstag, 8. Juni 2010 10:21
  • 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
    Dienstag, 8. Juni 2010 10:24
  • also ist der sql server schon immer auf UTF-8 so muss ich dem "StreamReader" sagen das er es in UTF-8 convertieren muss oder wie?

    frag ich mich warum es vorher ging..

    Dienstag, 8. Juni 2010 10:58
  • 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ützung

    Da ich Deine Tabellendefinition nicht kenne, weiss ich nicht,
    welche Sortierung dort eingestellt ist.

    Gruß Elmar

    Dienstag, 8. Juni 2010 11:12
  • 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.

    Dienstag, 8. Juni 2010 11:33