Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1V6gPh-0004sA-Mv for pgsql-it-generale@arkaria.postgresql.org; Tue, 06 Aug 2013 12:30:57 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1V6gPh-0008SN-1R for pgsql-it-generale@arkaria.postgresql.org; Tue, 06 Aug 2013 12:30:57 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1V6gPg-0008R3-0H for pgsql-it-generale@postgresql.org; Tue, 06 Aug 2013 12:30:56 +0000 Received: from mrw-3-xc.mail.tiscali.it ([195.130.225.206]) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1V6gPc-0000Cc-0t for pgsql-it-generale@postgresql.org; Tue, 06 Aug 2013 12:30:55 +0000 Received: from [10.39.115.64] by mrw-3 with esmtp (Exim) id 1V6gPb-0008MG-JI; Tue, 06 Aug 2013 12:30:51 +0000 Received: from ps-wm8.mc.tiscali.sys (10.39.75.208) by smtp-ps-4.mail.tiscali.sys (8.5.142) id 51E61F940038C813 for pgsql-it-generale@postgresql.org; Tue, 6 Aug 2013 14:30:49 +0200 Message-ID: <10318615.61451375792248887.JavaMail.defaultUser@defaultHost> Date: Tue, 6 Aug 2013 14:30:48 +0200 (CEST) From: "ciifrancesco@tiscali.it" Reply-To: "ciifrancesco@tiscali.it" To: Subject: R: problema Cinese in DB UTF8 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_3386_15598922.1375792248886" xOriginalSenderIP: 140.101.16.142 X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-it-generale Precedence: bulk Sender: pgsql-it-generale-owner@postgresql.org ------=_Part_3386_15598922.1375792248886 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Rileggendo il Suo messaggio, ho notato che non ho completato la richiesta, = non avendo incluso come la stringa viene creata. Ecco il percorso algoritmi= co completo: char stringaUTF8[39];//conterr=C3=A0 cinese //leggo stringaUTF8 da file... snprintf( tmp, MAX_SQL_QUERY_LENGTH, "SELECT campo \=20 FROM tabella WHERE \=20 datoUTF8 =3D '%s' AND sezione =3D '%s';", stringaUTF8, sezione); sqlQuery =3D UnicodeString(tmp); EseguiIstruzioneSQL(sqlQuery); //funz. nel messaggio precedente, v. sotto= =20 Distinti saluti, Francesco ----Messaggio originale---- Da: ciifrancesco@tiscali.it Data: 05/08/2013 13.09 A: Ogg: [pgsql-it-generale] problema Cinese in DB UTF8 [riscrivo perch=C3=A9 per sbaglio non l'ho inviata alla lista] Gentile Dr. Gianni Ciolli, ringrazio per la risposta, e mi scuso per il ritardo con cui riscrivo (dovuto alla impossibilit=C3=A0 di accedere al codice in questi giorni). Ricostruisco la funzione che esegue la query eliminando come al solito il codice di controllo. Rispetto alla volta scorsa ho aggiunto le righe che sono marcate con T1 e T2, ma senza successo.=20 Tali righe le ho trovate in questo interessantissimo programma basato sul giapponese http://winpg.jp/~saito/PGSQL_SJIS che purtroppo ancora non mi ha aiutato a risolvere. Una cosa interessante sembrerebbe l'uso di wchar che ancora devo implementare. Intanto d=C3=B2 la funzione come =C3=A8 adesso: bool EseguiIstruzioneSQL(const char *sqlQuery) { m_dbHandle =3D PQconnectdb(conninfo); //puntatore a PGconn //m_dbHandle->set_client_encoding( "UTF8" ); // T1 non funziona PQsetClientEncoding(m_dbHandle, "UTF-8"); // T2 apparentemente non ha effetto PGresult *risultatoQuery; risultatoQuery =3D PQexec(m_dbHandle, sqlQuery); statoQ =3D PQresultStatus(risultatoQuery); //(controlli per poter fare il return...) return true; } Saluti, Francesco ----Messaggio originale---- Da: gianni.ciolli@2ndquadrant.it Data: 02/08/2013 17.40 A: Ogg: Re: [pgsql-it-generale] problema Cinese in DB UTF8 Ciao Francesco, On Fri, Aug 02, 2013 at 05:17:05PM +0200, ciifrancesco@tiscali.it wrote: > Salve a tutti, scrivo per la prima volta. Premetto che non ho molta esperienza di uso di caratteri cinesi; tuttavia la connessione sembra corretta. Potresti mostrare il codice C++ che costruisce ed esegue la query? Ciao, Dr. Gianni Ciolli - 2ndQuadrant Italia PostgreSQL Training, Services and Support gianni.ciolli@2ndquadrant.it | www.2ndquadrant.it PGDay 2013 - 7=C2=B0 Conferenza Italiana su PostgreSQL Prato, 25 ottobre 2013 | http://2013.pgday.it/ Invita i tuoi amici e Tiscali ti premia! Il consiglio di un amico vale pi= =C3=B9 di uno spot in TV. Per ogni nuovo abbonato 30 =E2=82=AC di premio pe= r te e per lui! Un amico al mese e parli e navighi sempre gratis: http://fr= eelosophy.tiscali.it/=20 ------=_Part_3386_15598922.1375792248886 Content-Type: text/html;charset="UTF-8" Content-Transfer-Encoding: quoted-printable Rileggendo il Suo messaggio, ho notato che non ho completato la richiesta, = non avendo incluso come la stringa viene creata. Ecco il percorso algoritmi= co completo:

char  stringaUTF= 8[39];//conterr=C3=A0 cinese
//leggo
stringaUTF8 da file...

snprintf( tmp, M= AX_SQL_QUERY_LENGTH, "SELECT campo \
 FROM tabella WHERE \
&nb= sp;datoUTF8  =3D '%s' AND sezione =3D '%s';",
 stringaUTF8, se= zione);

sqlQuery =3D UnicodeString(tmp);
EseguiIstruzioneSQL(sqlQ= uery); //funz. nel messaggio precedente, v. sotto


Distinti s= aluti,
Francesco

----Messaggio originale----
Da: ciifrancesco@= tiscali.it
Data: 05/08/2013 13.09
A: <pgsql-it-generale@postgresql= .org>
Ogg: [pgsql-it-generale] problema Cinese in DB UTF8

[ris= crivo perch=C3=A9 per sbaglio non l'ho inviata alla lista]

Gentile D= r. Gianni Ciolli,

ringrazio per la risposta, e mi scuso per il ritar= do con cui riscrivo
(dovuto alla impossibilit=C3=A0 di accedere al codic= e in questi giorni).

Ricostruisco la funzione che esegue la query el= iminando come al solito
il codice di controllo. Rispetto alla volta scor= sa ho aggiunto le righe
che sono marcate con T1 e T2, ma senza successo.=

Tali righe le ho trovate in questo interessantissimo programma bas= ato
sul giapponese

http://winpg.jp/~saito/PGSQL_SJIS


c= he purtroppo ancora non mi ha aiutato a risolvere. Una cosa
interessante= sembrerebbe l'uso di wchar che ancora devo implementare.
Intanto d=C3= =B2 la funzione come =C3=A8 adesso:

bool EseguiIstruzioneSQL(const char *sqlQuery){
m_dbHandle =3D
  PQconnectdb(conninfo); //puntatore a PGcon= n
//m_dbHandle->set_client_encoding( "UTF8" ); // T1 non funziona
= PQsetClientEncoding(m_dbHandle,
  "UTF-8");  // T2 apparentem= ente non ha effetto

PGresult *risultatoQuery;
risultatoQuery =3D<= br>  PQexec(m_dbHandle, sqlQuery);

statoQ =3D PQresultStatus(r= isultatoQuery);

//(controlli per poter fare il return...)
return= true;
}


Saluti,
Francesco

----Messaggio ori= ginale----
Da: gianni.ciolli@2ndquadrant.it
Data: 02/08/2013 17.40A: <pgsql-it-generale@postgresql.org>
Ogg: Re: [pgsql-it-generale= ] problema Cinese in DB UTF8

Ciao Francesco,

On Fri, Aug 02, = 2013 at 05:17:05PM +0200, ciifrancesco@tiscali.it wrote:
> Salve a tu= tti, scrivo per la prima volta.

Premetto che non ho molta esperienza= di uso di caratteri cinesi;
tuttavia la connessione sembra corretta.
Potresti mostrare il codice C++ che costruisce ed esegue la query?
=
Ciao,
Dr. Gianni Ciolli - 2ndQuadrant Italia
PostgreSQL Training,= Services and Support
gianni.ciolli@2ndquadrant.it | www.2ndquadrant.it<= br>
PGDay 2013 - 7=C2=B0 Conferenza Italiana su PostgreSQL
Prato, 25 = ottobre 2013 | http://2013.pgday.it/






Invita i tuoi am= ici e Tiscali ti premia! Il consiglio di un amico vale pi=C3=B9 di uno spot= in TV. Per ogni nuovo abbonato 30 =E2=82=AC di premio per te e per lui! Un= amico al mese e parli e navighi sempre gratis: http://freelosophy.tisc= ali.it/

------=_Part_3386_15598922.1375792248886--