Ich bin irgendwie fest auf diesem. Ich bin kein Java oder Orakel Guru, also bitte geben Sie detaillierte Antworten :)oracle + java Codierung Problem beim Einfügen
Ich habe einen Web-Service, der etwas in DB einfügt. Der Web-Service wird auf der Achse gehostet. die db ist Oracle mit folgenden Eigenschaften:
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET ZHS16GBK
der Web-Dienst auf Windows Server 2008, Englisch Version gehostet wird, aber ich habe das Gebietsschema des Systems auf chinesisch
nun die Daten nach dem Einsatz Codierung geändert hat Problem und zeigt seltsame Zeichen wie ????, exxk ??
Die JWS-Datei hat GBK-Codierung. und die Daten, die in die DB eingefügt werden, sind fest in der Datei codiert [wir lesen sie nicht von REQUEST]
[edit] nur eine Sache, es ist nicht machbar, die gesamte DB zu utf-8 zu ändern es hat viele Tabelle und Daten
[weiter bearbeiten] Dinge klarer
die Maschine übernimmt Daten von zwei Quelle zu machen. Im Grunde wird es verwendet, um sms/mms an unsere abonnierten Benutzer zu senden und zu empfangen. vor allem arbeitet es mit dem GSM-Operator-Control-Center, wo alle Kodierungen in GBK behandelt werden. Auf der anderen Seite akzeptiert die Maschine auch Anfragen von der Website, um SMS/MMS an die Benutzer zu senden. Hier wird die Codierung in UTF-8 behandelt. Wenn die Webseite eine SMS an den Benutzer senden möchte, ruft sie einen Web-Service auf diesem Rechner auf, der Daten in db einfügt [unser Problem ist hier]. dann überprüft ein Windows-Dienst kontinuierlich die Datenbank und wenn er eine neue Anfrage zum Senden von SMS/MMS findet, wird er die SMS/MMS senden und den Datensatz löschen.
alles funktionierte gut auf der alten Maschine, da es chinesische Version von Windows 2003 hatte. Wir aktualisierten auf einen neuen Server und installierten Windows 2008 Server englische Version darauf. und jetzt sind die Daten verzerrt, nachdem der Web-Service in DB eingefügt hat.
können Sie zeigen, besser die gesamte Verarbeitungspipeline von wo die Daten kommen, wo es verarbeitet wird, wo es gespeichert und schließlich, wie es untersucht. Ich verstehe nicht genau, welche Rolle der Webservice spielt. Können Sie uns sagen, an welcher Stelle in der Pipeline die Daten noch in Ordnung sind? Ich bezweifle, dass die Einfügung selbst das Problem ist, weil sowohl Java als auch Oracle über Kodierungen und Zeichensätze Bescheid wissen und sie sich beschweren, wenn sie es nicht konvertieren können. – Codo