<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><span style="font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px;" id="yui_3_16_0_ym19_1_1466404783127_14091">> La pagina di SQLA per il backend oracle ha un paio di match per</span><br clear="none" style="font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px;" id="yui_3_16_0_ym19_1_1466404783127_14092"><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr"><span style="font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px;" id="yui_3_16_0_ym19_1_1466404783127_14093">> "encoding", li hai letti?</span></div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr"><span style="font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px;"><br></span></div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr">Si, li avevo letti, ho visto che è possibile aggiungere il parametro encoding nella create_engine, ma non ho capito come farlo utilizzando flask_sqlalchemy.</div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr">Ho risolto aggiungendo la variabile d'ambiente NLS_LANG, settata con lo stesso language, territorio e charset del database:</div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr">os.environ['NLS_LANG']= 'ITALIAN_ITALY.AL32UTF8'<br></div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1466404783127_13752" dir="ltr">Grazie.</div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> Il Domenica 19 Giugno 2016 14:39, Andrea D'Amore <and.damore@gmail.com> ha scritto:<br></font></div> <br><br> <div class="y_msg_container">2016-06-17 16:28 GMT+02:00 Fornacciari Andrea <<a shape="rect" ymailto="mailto:afornacciari@yahoo.it" href="mailto:afornacciari@yahoo.it">afornacciari@yahoo.it</a>>:<br clear="none">> Se aggiungo a result.description la decodifica<br clear="none">> result.description.decode("latin1"), la risposta è corretta:<br clear="none"><br clear="none">> Immagino che problemi con i charsets siano abbastanza frequenti, c'è modo<br clear="none">> per evitare di dover impostare per ogni singolo campo alfanumerico la<br clear="none">> decodifica corretta?<br clear="none"><br clear="none">La pagina di SQLA per il backend oracle ha un paio di match per<br clear="none">"encoding", li hai letti?<br clear="none"><br clear="none">Non credo tu possa esimerti dal sapere che codifica stai usando nel<br clear="none">database, guarda la presentazione o il video unipain [1].<br clear="none"><br clear="none">> P.S.: Lo stesso codice nella 3.5 funziona perfettamente senza attributo<br clear="none">> decode (che tra l'altro nella 3 hanno rimosso).<br clear="none"><br clear="none">Non sono ferrato perché uso perlopiù 2.7, ma da i vari "2 vs. 3" che<br clear="none">ho letto la differenza la fa il concetto di stringa che in py2 è una<br clear="none">sequenza di byte mentre in py3 è una sequenza di caratteri, quindi una<br clear="none">volta che hai la stringa non esiste il problema di codifica.<div class="yqt1318355239" id="yqtfd50658"><br clear="none"><br clear="none"><br clear="none">[1]: </div><a shape="rect" href="http://nedbatchelder.com/text/unipain.html" target="_blank">http://nedbatchelder.com/text/unipain.html</a><br clear="none"><br clear="none">-- <br clear="none">Andrea<br><br></div> </div> </div> </div></div></body></html>