[Bug? Forma 2.4.x] Services_JSON, accenti

Installazione, configurazione generale, notifiche, API, lingue, problemi server
studioeco
Newbie
Posts: 7
Joined: Mon Feb 19, 2018 6:21 pm

[Bug? Forma 2.4.x] Services_JSON, accenti

Post by studioeco »

Salve, volevo portare all'attazione una problematica che ho riscontrato sui nostri server installando la piattaforma.
Premetto che abbiamo diverse istanze della piattaforma e la questione in oggetto è stata controllata su più di una.

In sostanza nella maschera amministrativa di lista corsi (/appCore/index.php?r=alms/course/show) i caratteri accentati vengono mostrati in maniera errata (https://www.dropbox.com/s/u75ok21nm1l42 ... 2.jpg?dl=0)
Questa problematica si evidenzia su una macchina con nginx/php7.0.33

Su una istanza diversa (apache/php5.6) l'errore non si palesa.

Premetto che anche se le accentate non vengono visualizzate correttamente nella pagina lista corsi amminiatrativa, quando si esegue la modifica i caratteri sono corretti (https://www.dropbox.com/s/0o8b1cq2gib6l ... 0.jpg?dl=0) e sono corretti anche nell'interfaccia utente (https://www.dropbox.com/s/1kxmw2jydstxd ... 8.jpg?dl=0).

Indagando con un po' di die() e var_dump() sono arrivato alla funzione getcourselist() del file appLms/admin/controllers/CourseAlmsController.php che sostanzialmente alla fine chiama il metodo

Code: Select all

echo $this->json->encode($result);
sostituendo questo metodo con il semplice

Code: Select all

json_encode($result)
le accentate vengono trasmesse correttamente in tutte le istanze testate.

Mi scuso in anticipo se questa dovesse essere una questione già trattata ma ho provato a cercare sul forum e non ho trovato nulla di rilevante.

Spero riusciate a darmi una mano e vi ringrazio anticipatamente.

alfa24
Senior Boarder
Posts: 920
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by alfa24 »

Qual è la codifica del db?
I'm Jasmines, the One. If you need, you can contact me.

studioeco
Newbie
Posts: 7
Joined: Mon Feb 19, 2018 6:21 pm

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by studioeco »

alfa24 wrote:
Wed Jun 10, 2020 8:35 am
Qual è la codifica del db?
Premetto che effettuando un var_dump() di $result prima che venga usato il $this->json->encode la stringa è perfettamente formattata, con gli accenti visibili. Inoltre se eseguo mb_detect_encoding sulla stringa in particolare che contiene gli accenti mi torna sempre UTF-8

Cmq su tutte le istanze db abbiamo UTF8 (anche perchè altrimenti non avrebbe funzionato l'installazione che lo richiede come parametro obbligatorio).

Ma la collate propria del DB dovrebbe essere indifferente nel senso che quella che conta dovrebbe essere quella di goni tabella giusto?

Precisamente la collate di ogni tabella è utf8_general_ci (questo su ogni istanza, sia quella che funziona che quella che non va).

Grazie per l'intereassamento!

alfa24
Senior Boarder
Posts: 920
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by alfa24 »

Ok il db è a posto.
Lo chiedo perché nelle mie instanze funziona regolarmente anche il metodo encode della classe json, senza passare dal json nativo php.
I'm Jasmines, the One. If you need, you can contact me.

studioeco
Newbie
Posts: 7
Joined: Mon Feb 19, 2018 6:21 pm

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by studioeco »

alfa24 wrote:
Wed Jun 10, 2020 10:31 am
Ok il db è a posto.
Lo chiedo perché nelle mie instanze funziona regolarmente anche il metodo encode della classe json, senza passare dal json nativo php.
Ma infatti è stranissimo, io sospetto qualcosa sulle impostazione di php perchè l'unica grande differenza discriminante tra le istanze che funzionano e quelle che mostrano questa anomalia è la versione di PHP e del server web.

nginx/php-fpm 7.0.33 -------- anomalia accenti
apache/php 5.6.x --------- nessuna anomalia

La mia paura è che quell'encoding possa portare a scompensi in altre situazioni sopratutto lato utente (amministrativamente parlando ha un impatto relativamente basso visto che gli admin li gestiamo tutti noi).

alfa24
Senior Boarder
Posts: 920
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by alfa24 »

non ho modo di testare nginx, ma io lavoro con php fino a 7.4 e non vedo anomalie
I'm Jasmines, the One. If you need, you can contact me.

studioeco
Newbie
Posts: 7
Joined: Mon Feb 19, 2018 6:21 pm

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by studioeco »

alfa24 wrote:
Wed Jun 10, 2020 10:41 am
non ho modo di testare nginx, ma io lavoro con php fino a 7.4 e non vedo anomalie
Ma quasi sicuramente il problema non è da ricecarsi in nginx perchè ripeto il valore della variabile è giusto prima di entrare in quella funzione (cioè gli accenti sono correttamente visualizzati) ma non appena quel metodo fa encode e sballa tutto...(cioè sostituisce a quei caratteri degli escape che utf che incasinano tutto).

Avete qualche altra idea al riguardo?

alfa24
Senior Boarder
Posts: 920
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by alfa24 »

Se non posso replicarlo, non posso debuggarlo, purtroppo.
I'm Jasmines, the One. If you need, you can contact me.

studioeco
Newbie
Posts: 7
Joined: Mon Feb 19, 2018 6:21 pm

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by studioeco »

alfa24 wrote:
Wed Jun 10, 2020 6:33 pm
Se non posso replicarlo, non posso debuggarlo, purtroppo.
Scusa la domanda alfa, ma tu sei uno sviluppatore di formaLms?

Perchè se non lo sei a questo punto non vedo altra alternativa che aspettare qualche aiuto da parte loro.

Ma poi.. mi chiedo una cosa: a cosa serve quella funzione di decode? non è "safe" utilizzare quella nativa (che tra l'altro funziona meglio in questo caso)?

alfa24
Senior Boarder
Posts: 920
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: [Bug? Forma 2.4.x] Services_JSON, accenti

Post by alfa24 »

Hai ragione, aspetta il supporto ufficiale.
I'm Jasmines, the One. If you need, you can contact me.

Post Reply