[ Pera Pisar @ 03.09.2004. 21:49 ] @
Nikako ne mogu da upisem slova srpske latinice iz JSP stranica u SQL Server 2000.

Medjutim, problem nije u SQL Serveru, vec u JSP-u. To znam zato sto kada upisujem stringove u bazu iz Query Analyzer-a sve funkcionise. Kada upisujem iz JSP-a, u bazi se pojavljuju ili znakovi pitanja ili neki nepoznati karakteri.

Pokusavao sam sa svim mogucim podesavanjima kodnih strana, podesavanjima u Regional Settings, ali nista. Probao sam, naravno, i da upisujem stringove izmedju N' i ' jer se tako upisuju Unicode znakovi u SQL Server.

Naravno, ne pomaze mi nista da u bazi cuvam nerazumljive kodove karaktera, pa a ih citam iz JSP aplikacije. Neophodno je da podaci u bazi budu citljivi.

Siguran sam da je neko imao ovakav problem, da ga je resio i da moze da mi pomogne?

Hvala
[ veljaradenkovic @ 04.09.2004. 00:24 ] @
Probaj ovako:

Code:
INSERT INTO myTable (myCol1, myCol2) VALUES (N'Ovde ide textččččč', N'Ovde ide textččččč')".


Takodje kolone sa kojima ovo radis treba da budu tipa NVARCHAR, NCHAR ili NTEXT.

Nisam siguran ali cini mi se.

A ako koristis Prepared statement ili Callable statement iskoristi opciju DB drivera
Code:
sendStringAsUnicode=true
[ Pera Pisar @ 04.09.2004. 11:09 ] @
Hvala na odgovoru!

Uspeva tako kada to radim iz Query Analyzer-a. Ali iz JSP-a ne radi!

Kako se koristi ova opcija drajvera? Gde treba da je upisem? Da li ona postoji za svaki drajver? Ja koristim Microsoft JDBC Driver Service Pack 2.
[ veljaradenkovic @ 04.09.2004. 13:02 ] @
Vidi ovako da ti kazem.

Koristi se tako sto zalepis ovo na kraj Connection Stringa - sendStringAsUnicode=true.

Mada mislim da je ovo polje i po defaultu true a ne koristis ni prepared ni Callable statement tako da nije tu tvoj problem.

Mozes ako nisi da podesis content type i character set strane

<%@ page contentType="text/html; charset=UTF-8" %>

i requesta

<%request.setCharacterEncoding("UTF-8");%>

Jos da napomenem da ne treba da ti ovako JSP strana pristupa bazi.

Potrazi na internetu i procitaj sta je 'model 2'.

Takodje mozes da potrazis na Google 'PreparedStatements vs. Statements' pa vidi sta je u pitanju.

Ja ne mogu vise da ti pomognem jer sam sa SQLServerom radio zadnji put pre 12 meseci
Uglavnom znam da moze.
[ Pera Pisar @ 04.09.2004. 13:49 ] @
Radim sa PreparedStatement i CallableStatement. Pozivam stored procedure u SQL Serveru i upisujem pomocu nje podatke.

Sve te charset-ove sam probao, ali nista.

Znam i ja da moze, samo ne znam kako?!

Ali pogledacu ovo sto si mi sugerisao, pa mozda nesto i bude. Hvala u svakom slucaju!

[ Pera Pisar @ 08.09.2004. 08:32 ] @
RESIO SAM PROBLEM posle mnogih neprospavanih noci :-))))) !!!!!!!!!

Za svaki parametar koji se upisuje u bazu treba pozvati nesto kao:

String str = new String(someString.getBytes("8859_1"), "utf-8");


Inace, pre nego sto sam ovo provalio dosao sam do toga da pisem svoju klasu koja ce da radi konverziju i upis u bazu promenjenih podataka. To samo sto nije proradilo, kad resenje palo s neba!!!

Hvala svima na odgovorima!