2009-08-03 13 views
5

Test ortamımın veritabanında "™" ticari marka karakterini devam ettirmediği bir anda sorun yaşıyorum. Form verisini girdiğimde, gönderin, sunucu tarafında, isteğin doğru kodlanmış bir karaktere sahip olduğunu görebiliyorum, ancak daha sonra hazırda bekletmenin "saveOrUpdate()" yöntemi çağrıldığında, Tablo baş aşağı bir soru işareti olarak ortaya çıkıyor.Hazırda bekletme Oracle ve Karakter Kodlaması

Tabloyu incelemek için SqlDeveloper'ı kullanıyorum ve karakteri doğrudan bir satıra yapıştırarak bir ™ öğesine el ile değiştirebilirim ve sonra da çalışır.

Bu yüzden, kalıcılık yöntemlerini hazırda bekletme modlarının düzgün çalışmadığı varsayımı yaptım. Im burada zararına, gerçekten, az önce ne denemek için bilmiyorum

, ben belirledik: yapılandırma dosyasında

<property name="connection.useUnicode">true</property> 
<property name="connection.characterEncoding">utf-8</property> 

özelliklerini, hiç şansım.

Tablolardaki sütunlarım NVARCHAR2 (400 CHAR) (başlangıçta sadece VARCHAR2 olmasına rağmen, ancak bu sorunun hatalarını ayıklarken değiştirdim).

Burada herhangi bir yardım çok takdir edilmektedir.

Mark

cevap

6

Tamam, bu yüzden ne yapmam gerekli gerçek için defaultNChar bağlantı özelliği ayarlamak için olduğu ortaya çıkıyor.

Bunu, Tomcat'deki uygulamamın içerik dosyası aracılığıyla yaptım.

Beni aydınlatan makale here idi.

+0

Merhaba MArk, biz NCHAR kullanmıyoruz, ancak Nordic karakteri ile sorunla karşı karşıyayız. Onlar ISO-8859-1'in bir parçasıdır. Veritabanına yazarken biraz sihir gibi görünüyor. –

+0

bağlantısı şimdi öldü ... :( – xenoterracide

İlgili konular