Thomas Blättler: MSSQL 2000 und Java

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

  1. Hallo Tomi

    Warum kann es hier nicht gepostet werden?

    1. Hallo Tomi

      Warum kann es hier nicht gepostet werden?

      Ok. ich versuchs nochmal. So würde das Zeichen aussehen.

    2. 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

  2. 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

  3. 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