Foros de discusión

Liferay e Oracle Database

thumbnail
Denis Signoretto, modificado hace 14 años.

Liferay e Oracle Database

Expert Mensajes: 375 Fecha de incorporación: 21/04/09 Mensajes recientes
Ciao a tutti,

vorrei installare Liferay su Oracle Database 10g. La documentazione di Webspace Server (basato su Liferay 5.2.x) riporta che bisogna avere il database in UTF8. Purtroppo il database di cui dispongo è impostato in ISO come single byte. Posso installarlo ugualmente o vado incontro a problemi? Ci sono precauzioni particolari o settaggi che mi consentano di installarlo senza avere poi problemi?

Grazie in anticipo per ogni eventuale suggerimento.
D.
thumbnail
Luca Preziati, modificado hace 14 años.

RE: Liferay e Oracle Database

Regular Member Mensajes: 120 Fecha de incorporación: 9/02/09 Mensajes recientes
credo tu possa aver problemi a gestire le stringhe accentate.
thumbnail
Antonio Cerciello, modificado hace 14 años.

RE: Liferay e Oracle Database

New Member Mensajes: 3 Fecha de incorporación: 31/07/09 Mensajes recientes
E' la configurazione che uso io... E confermo che ci sono problemi con le lettere accentate.
Però ancora non sono sicuro che si tratti di un problema legato all'encoding del DB. Infatti il problema con le lettere accentate si presenta solo con alcune portlet, mentre altre funzionano bene.
Nello specifico ho problemi di codifica con le portlet del Wiki e del Blog. Mentre Message Board e Journal accettano questi caratteri senza problemi!
Qualcuno è in grado di aiutarmi a trovare una spiegazione?
thumbnail
Denis Signoretto, modificado hace 14 años.

RE: Liferay e Oracle Database

Expert Mensajes: 375 Fecha de incorporación: 21/04/09 Mensajes recientes
Ciao Antonio,

non so spiegarti come mai il problema si verifichi solo con alcune portlet. Io ho risolto facendo installare una istanza di DB con codifica dei caratteri AL32UTF8. In alternativa potresti provare ad accedre al DB con il driver JDBC OCI e settare l'NLS LANG a UTF-8.
Finchè utilizzi un set di caratteri che vengono convertiti in un signle byte potrebbe funzionare bene, se poi ci sono caratteri che vengono convertiti in più di un byte facile che ti troverai un punto di domanda al posto del carattere la cui conversione non era contenibile in un byte.

D.
thumbnail
Antonio Cerciello, modificado hace 14 años.

RE: Liferay e Oracle Database

New Member Mensajes: 3 Fecha de incorporación: 31/07/09 Mensajes recientes
Grazie Denis, non mi aspettavo di ottenere una risposta così valida e precisa emoticon grazie mille.
Però in questi giorni ho fatto una prova che mi ha fatto nascere qualche perplessità sulla causa DB. Ho messo un web filter prima del portale e ho provato a stampare l'encoding di HttpServletRequest, che risulta essere ISO8859-1! Non so che pensare. Ho verificato la codifica di tutto quello che mi veniva in mente... SO, JVM, Jboss (uso liferay con jboss) ed è tutto UTF-8! Ovviamente anche la pagina di liferay sul browser risulta codificata in UTF-8 ma, quando faccio il submit, al server arriva in ISO8859-1. Ho il timore di tralasciare qualcosa, ma al momento non mi viene in mente niente.

In ogni caso il DB ancora non è entrato in gioco a questo livello... A questo punto immagino che il problema sia qualcosa tra il client e il server.
thumbnail
Denis Signoretto, modificado hace 14 años.

RE: Liferay e Oracle Database

Expert Mensajes: 375 Fecha de incorporación: 21/04/09 Mensajes recientes
Ciao Antonio,

nel tuo post mi scrivi che il filtro intercetta la HttpServletRequest che è la richiesta che arriva dal Browser,
che potrebbe essere impostata di default a ISO8859-1.

Nel mio caso ad esempio il borwser manda: Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7.

Nel filtro dovresti leggere anche il ContentType della HttpServletResponse e vedere la codifica che viene
mandata al browser.

Ciao,
Denis
thumbnail
Antonio Cerciello, modificado hace 14 años.

RE: Liferay e Oracle Database

New Member Mensajes: 3 Fecha de incorporación: 31/07/09 Mensajes recientes
Denis Signoretto:

nel tuo post mi scrivi che il filtro intercetta la HttpServletRequest che è la richiesta che arriva dal Browser,
che potrebbe essere impostata di default a ISO8859-1.


No è UTF-8. Anzi se modifico la codifica del browser (su firefox Visualizza->Codifica caratteri) forzando ISO8859-1 i caratteri arrivano bene...

Ho fatto il test che mi hai suggerito:

Content-Type text/html;charset=UTF-8
thumbnail
Denis Signoretto, modificado hace 14 años.

RE: Liferay e Oracle Database

Expert Mensajes: 375 Fecha de incorporación: 21/04/09 Mensajes recientes
Ciao Antonio,

a proposito, ti ringrazio per l'apprezzamento precedente. Il problema potrebbe essere spiegato in funzione degli editor. Se Message Boards e Journal avessero degli editor configurati in modo che via Javascritp facessero un replace dei caratteri speciali con le relative codifiche HTML (e.g. à => à). La cosa la puoi controllare con delle query sul DB.

Potresti intervenire sull'editor del Blog (quello dalla wiki non credo), comunque anche se riuscissi ad intervenire sulla configurazione degli editor, questo non ti salva da tutti gli altri input text e il problema della codifica rimarrebbe.

Ti potrebbe però salvare:
* il "trucco" che ti suggerivo facendo fare la codifica al OCI driver (ma resta da provare)
* Impostare Liferay in ISO8859-1 (ma non so se si può fare).

Ciao!
Denis.