Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MSSQL - Select auf Sonderzeichen in nVarChar-Spalten

Mitglied: ChrFriedel

ChrFriedel (Level 1) - Jetzt verbinden

21.11.2011, aktualisiert 12:50 Uhr, 11578 Aufrufe, 9 Kommentare

Hallo an alle Datenbankadministratoren

Ich bin soeben über ein kleines Problem gestolpert bei dessen Lösung ich etwas Hilfe benötigen würde.

Ich habe eine MSSQL-2005 Datenbank in der u.a. Namen in einer nVarChar-Spalte gespeichert werden. Nun wird diese Datenbank auch auf andere Länder erweitert und aus diesem Grund befinden sich nun Einträge mit Sonderzeichen/Sonderbuchstaben in der DB. Das Problem ist nun, dass diese mit einem Select nicht mehr gefunden werden.

Beispiel:

Der Dateiname: Podpůrné

funktionierendes Select:
01.
SELECT * from Object WHERE Name like '%Podp_rné%'
nicht funktionierend:
01.
SELECT * from Object WHERE Name like '%Podpůrné%'
01.
SELECT * from Object WHERE Name = 'Podpůrné'
Das Problem ist hier eindeutig dieses spezielle u.

Da ich ungern die Selects bearbeiten möchte lautet meine Frage nun:

Wie bringe ich dem SQL-Server bei das er auch diese seltsame ů und andere Buchstaben aus den osteuropäischen Sprachen erkennt? Natürlich möchte ich dabei nicht die Unterstützung z.B. der deutschen Umlaute oder andere Zeichen verlieren.

Für Tipps wäre ich sehr dankbar.

Grüße

Update:

Mit einem Zusatz:
01.
SELECT * from Object WHERE Name = 'Podpůrné' COLLATE CZech_CI_AI
funktioniert die Abfrage nun. Hierbei ist allerdings das Problem, dass das nur für Tschechisch funktioniert. Muss ich wirklich jedem Select die Sprache mitgeben oder gibt es einen anderen Weg?
Mitglied: msr972
21.11.2011 um 12:50 Uhr
Moin,

Das Zauberwort heißt in dem Fall ganz klar UTF-8.
Sollte das Programm z.B. in PHP, C++, C# geschrieben sein, gibt es spezielle Befehle, die SQL Query nach UTF-8 konvertieren zu lassen.
Ebenso gilt dies für die Tabellen. Hast Du hier z.B. 8859-1 drinnen oder latin-general-ci kann es hierbei zu den beschriebenen Problemen bekommen.
Gerade wenn kyrillisch oder asiatische Schriftsätze benutzt werden (müssen).

Gruß
Bitte warten ..
Mitglied: ChrFriedel
21.11.2011 um 12:52 Uhr
Erstmal vielen Dank für den Input. Die Query funktioniert sowohl von VB.Net als auch aus dem MSSQL-Managementstudio heraus nicht. Aber ich werde mal sehen ob ich dazu etwas finde!
Bitte warten ..
Mitglied: ChrFriedel
21.11.2011 um 12:56 Uhr
Ich nochmal kurz:

Jup ich hab als Standard latin-general-ci eingestellt. Aus der Liste geht für mich aber keine Einstellung hervor die suggeriert mit allen Sonderzeichen umgehen zu können. Übersehe ich diese oder gibt es das tatsächlich nicht?
Bitte warten ..
Mitglied: MadMax
LÖSUNG 21.11.2011, aktualisiert 30.01.2014
Moin ChrFriedel,

probier es mal mit:
01.
SELECT * from Object WHERE Name like N'%Podpůrné%'
Durch das 'N' vor der Zeichenkette machst Du diese zum nvarchar, welches die ganzen Sonderzeichen beherrscht. Ohne das 'N' wird die Suchzeichenfolge in varchar umgewandelt, die die Sonderzeichen eben nur in den speziellen Sprachen kennt.

Gruß, Mad Max
Bitte warten ..
Mitglied: msr972
21.11.2011 um 13:09 Uhr
Zitat von ChrFriedel:
Ich nochmal kurz:

Jup ich hab als Standard latin-general-ci eingestellt. Aus der Liste geht für mich aber keine Einstellung hervor die
suggeriert mit allen Sonderzeichen umgehen zu können. Übersehe ich diese oder gibt es das tatsächlich nicht?

Da meine MSSQL Kenntnisse mittlerweile stark eingerostet sind, muss ich gestehen, ich weiß nicht, ob und wie es einen UTF-8 oder sogar UTF-16/32 Satz gibt in MSSQL..
Google hat mir aber 2 Sachen geliefert, die ein Ansatz sein könnten:
http://support.microsoft.com/kb/232580/EN-US/ <- eher Programmiererseite
http://entwickler-forum.de/showthread.php?p=31808 <- vorallem der letzte Beitrag ist interessant, aber ich würde mir den ganzen Thread und weiterführende Links mal ansehen
Bitte warten ..
Mitglied: ChrFriedel
21.11.2011 um 13:12 Uhr
Jawollja! Sowas einfaches hatte ich mir erhofft

Vielen Dank dafür!
Bitte warten ..
Mitglied: ChrFriedel
21.11.2011 um 13:13 Uhr
Vielen Dank für deine Mühe!

Aber siehe weiter oben. Es geht noch viel einfacher *g*

Grüße
Bitte warten ..
Mitglied: msr972
21.11.2011 um 13:14 Uhr
Zitat von ChrFriedel:
Vielen Dank für deine Mühe!

Aber siehe weiter oben. Es geht noch viel einfacher *g*

Grüße

Gern geschehen. Mal gleich merken, falls ich auf die wahnwitzige Idee kommen sollte, jemals wieder eine MSSQL zu benutzen
Bitte warten ..
Mitglied: ChrFriedel
21.11.2011 um 13:22 Uhr
Jup is besser... ich muß zugeben das es das erste Mal ist das das N für mich Sinn ergibt ;)

Schade das ich das nun in tausenden Selects nacharbeiten muss. Aber man lernt nie aus ;)

Schöne Woche noch!
Bitte warten ..
Ähnliche Inhalte
Datenbanken

Höchsten Wert aus nvarchar Spalte finden

gelöst Frage von orausdoDatenbanken11 Kommentare

Hallo liebe Admins, ich habe folgende Problem. Ich habe eine Tabelle, in der Werte für die Kalenderwoche weggeschrieben werden. ...

Datenbanken

MSSql Server - Select gibt sporadisch keinen Wert zurück

Frage von mkdeluxeDatenbanken2 Kommentare

Hallo zusammen, ich stehe vor einem kuriosen Verhalten und hoffe auf Tipps, wie ich dem auf die Spur kommen ...

Visual Studio

C-Sharp WPF ListView Select nur bei bestimmter Spalte (2 Fragen in einer)

gelöst Frage von mayho33Visual Studio3 Kommentare

Hallo @ All, Ich knabbere wieder mal an einem Problem mit ListViewItems und hoffe (wieder mal :-) ) auf ...

Batch & Shell

2 Spalten einer CSV per Batch in Variable auswerten und an MSSQL-Query übergeben

Frage von chgs2011Batch & Shell25 Kommentare

Hallo, ich habe eine primitive CSV-Datei, die ich gerne auswerten würde (Spaltentrenner ";"). Die CSV hat beliebig viele Zeilen, ...

Neue Wissensbeiträge
Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 1 StundeSicherheits-Tools

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 15 StundenServer-Hardware3 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Windows 10

Kumuative Updates für .NET Framework kommen für Windows 10 V1809

Information von kgborn vor 20 StundenWindows 10

Microsoft hat das Ganze im Beitrag Announcing Cumulative Updates for .NET Framework for Windows 10 October 2018 Update vorgestellt. ...

Sicherheit
Neue IT-Administrator Ausgabe - Endpoint Security
Information von Frank vor 21 StundenSicherheit

Die Endgeräte in Unternehmen stellen das wohl größte Einfallstor für Angreifer dar. Ein geöffneter, infizierter E-Mail-Anhang oder der Besuch ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server33 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server16 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...

Sicherheits-Tools
Trend Micro WFBS lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools14 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...