MSSQL 2000 und Java
Thomas Blättler
- java
0 fragensteller0 Tomi0 MichaelB
Hallo
Ich hab folgendes Problem.
Ich schreibe in ein Textfeld einen beliebigen Text, den ich mit einem Servlet via getParameter auslese und in einen String speichere.
Anschliessend schreibe ich den Text in die Datenbank mit
INSERT INTO tbl_text VALUES ("+ variablenname +")
Das ganze funktioniert prima.Leider werden spezielle Zeichen wie zum Beispiel ein grosses Z mit kleinem v drauf (sorry kann hier nicht gepostet werden) nicht korrekt in die Datenbank geschrieben.
Wenn ich solch ein Sonderzeichen direkt in die datenbank schreibe (also ich speichere den Wert nicht in einer String Variable) dann funktionierts.
Was muss ich dort für einen Datentyp haben?? Ev. Char??
Kann mir da jemand weiterhelfen??
Danke.
Tomi
Hallo Tomi
Warum kann es hier nicht gepostet werden?
Hallo Tomi
Warum kann es hier nicht gepostet werden?
Ok. ich versuchs nochmal. So würde das Zeichen aussehen.
Hallo Tomi
Warum kann es hier nicht gepostet werden?
Sorry. Aber dieses Zeichen wird hier nicht angenommen. Tja.
Aber ich habs aus der Zeichentabelle vom Windows kopiert. Kannst es dir ja anschauen.
Gruss Tomi
Habs rausgefunden.
Mann muss lediglich beim INsert oder Update Query noch ein N vor die Variable setzen.
Bsp:
INSERT INTO tbl_tabelle (text) VALUES (N'"+ text +"');
Gruss Tomi
Und im MS-SQL-Server ist für Deine Datenbank welcher Zeichensatz eingestellt? (frag mich jetzt aber nicht wie das geht; näheres findest sich in der SQL-Server-Hilfe)
Vergleiche diesen mal mit Deinem Zeichensatz, der auf dem "JDBC-Client" eingestellt ist.
Leider werden spezielle Zeichen wie zum Beispiel ein grosses Z mit
kleinem v drauf (sorry kann hier nicht gepostet werden) nicht korrekt
in die Datenbank geschrieben.
"Super" Fehlerbeschreibung. Was heißt denn konkret 'nicht korrekt geschrieben'? Heißt das gar nichts geschrieben? oder steht dann ein falsches Zeichen in der Datenbank (wenn ja, welches?). Oder was denn nu ?
Gruss
MichaelB