Frage

Ich kann auf die Datenbank zugreifen, entweder von einem .NET-Programm (über ODBC) oder über ein Datenbank-Management-Tool (geschrieben in Java).

Wenn ich ein ‚E‘ Zeichen in die Datenbank aus dem .NET-Programm zu schreiben, scheint es, als ‚O‘ (Kapital O mit Tilde) im DB-Management-Tool.

Wenn ich ein ‚E‘ Zeichen in die Datenbank aus dem DB-Management-Tool zu schreiben, scheint es, als ‚A‘ (Kapital A mit einem Kreis oben) in .NET Programm.

Ich versuche nicht, um tatsächlich das Problem zu lösen (das heißt, die beide Programme die gleiche Sache zeigen), obwohl das wäre schön. Ich bin nur versuchen zu erraten, welchen Zeichensätzen jeweils die Daten zu interpretieren verwendet, so dass ich die Umwandlung selbst tun kann, wenn ich Daten-Dump mit .NET und Neueingabe es mit dem Werkzeug.

Also, welche Kombination von zwei Zeichensätzen den Zeichen Mismatches oben beschrieben würde?

Danke für Ihre Hilfe.

EDIT: mit Sybase ASE 12.5

EDIT: im Grunde die Frage ist: Sie wissen, einen Zeichencodierung, dessen Punkt E9 Code repräsentiert Charakter 'O'(Kapital O mit Tilde) oder ‚A‘ (Kapital A mit einem Kreis auf oben)? (Dies setzt voraus, einer von ihnen mit Latin 1, daher den E9, was meiner Meinung nach ziemlich wahrscheinlich ist)

EDIT: Paul-Lösung macht es. Die Antwort über den charset ist: hp-roman8

War es hilfreich?

Lösung

Sybase versucht automatisch eine Konvertierung zu tun, wenn es unterschiedliche Character sind auf dem Server und dem Client verwendet wird. Wenn Sie die automatische charset Konvertierung deaktivieren verwenden,

set char_convert off

bekommt man immer noch das gleiche ‚o‘ und ‚A‘ ist?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top