Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 37

Discussione: array to json

  1. #21
    Originariamente inviato da artorius
    Perchè altrimenti puoi provare ad usare l'escape

    escape('à') che da %E0 e vedere se DOJO fa un unescape sulle stringhe che gli passi, altrimenti, se DOJO usa l'innerHTML puoi usare le html entities.

    à => à
    Ho provato l'escape e non va bene, dojo non fa l'unescape perchè si aspetta una struttura conforme JSON.
    La mia preoccupazione non è tanto l'encoding dei caratteri non ASCII (o almeno non solo) ma l'escape di caratteri potenzialmente pericolosi per la sintassi Js stessa, quali il \, l'apice ecc.
    Non so se fare uno strip di questi (perchè per l'applicazione non servono) oppure qualcosa di più furbo..

    PS di docu dojo ce n'è, anche troppa, è quello il problema
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

  2. #22
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    uHm pero' il carettere speciale rimane sempre e bisogna trattarlo con l'opportuna codifica.

    Uso anche io la funzione escape che codifa in formato URI òle stringhe ma a tempo di decodifica se vengono lette come normale stringa hanno problemi di codifica.

    Per evitare cio' ho fatto deu funzioni una client side che converte i cartteri speciali piu' comuni con opportune stringhe e una lato server che fa il contrario.
    Quindi faccio l'escape dal client poi nel server decodifico e riconverto nel formato che voglio sia html che altro e poi schiaffo tutto nel db.

    Ovviamente per fortuna ho risettato il db per i caratteri utf-8 per cui dopo la decodifica basta che inserisco la stringa e non ho riscontrato alcun problema finora.

    Cmq e' un'idea sinceramente nn ho lavorato su DB json ma credo che se ti dovessero dare problemi la sol migliore e' una conversione lato client come quella proposta sopra e poi una riconversione lato server in caratteri HTML &eagrave; etc. ....

    lo fai semplicemente con una regexp nella funzione replace di js ....
    oppure con miaStringa.replace(/à/g , "**agrave**") .... etc
    poi
    miaStringa = escape(miaStringa);

  3. #23
    puoi provare a metterci le entities (&quote; per l'apice), e a fare un substring(/\\/g, '\'); per l'escape.

    Altrimenti dai un'occhiata a questo: è il sito di un genio (o pazzo a seconda dei punti di vista) che ha tradotto le principali funzioni PHP in JS.

    http://kevin.vanzonneveld.net/techbl..._htmlentities/
    I DON'T Double Click!

  4. #24
    ah, escape() traduce le entities? Non lo sapevo!!! SI impara sempre qualcosa di nuovo.
    I DON'T Double Click!

  5. #25
    Ti/Vi ringrazio, penso che per lo scopo di mio interesse farò semplicemente un escape dei due tre caratteri speciali \ e ' o poco altro.

    Grazie.
     
    :: Instant WebKiosk, a browser-only Linux operating system ::

  6. #26
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    no spe escape fa solo l'encoding dei caratteri. Ossia traduce per il foramto uri lo spazio con il %20 etc etc i caratteri speciali mi hanno dati tanti prob con escpe per quello hio fatto una mia funzione di conversione da carattere speciale e una cosa tipo **agrave** e poi lato server le intercetto e le riconverto come mi serve .

    EDIT:

    io uso una funzione tipo

    Codice PHP:

    function convertSpecialChars(str)
    {
       var 
    chars_from  =  new Array(  "à""è" . .....)
       var 
    char_to      new Array(  "**agrave**" ,"**egrave**"  ....) 

    /*Ovviamente i dati devono essere allineati*/

       
    for(var i=i<chars_from.length i++)
          
    str str.replace(/chars_from[i]/chars_to[i] );

       return 
    str;
    }


    /*poi faccio dove serve faccio*/
    convString escapeconvertSpecialCharsmiaStringa ) ); 

  7. #27
    Originariamente inviato da artorius
    http://kevin.vanzonneveld.net/techbl..._htmlentities/
    I DON'T Double Click!

  8. #28
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    OMg ho visto adesso questo tizio e' un pazzo geniale.

    Cmq quelle funz alla ecma avrebbero dovuto farle loro.

  9. #29
    Sono d'accordo... guarda io personalmente uso solo il date(), dato che lavoro con gli UNIX timestamp generati da PHP è utile, ma l'htmlentities, secondo me, è parecchio utile in questo caso.
    Comunque non vedo molto l'utilità di usare JS come se fosse PHP, dato che partono da due ambienti diversi, al massimo può essere una buona cosa avere disponibili alcune delle funzioni di PHP.
    I DON'T Double Click!

  10. #30
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Beh piu' che altro concettualmente usi gli stessi nomi di funzioni cosi' nn devi ricordarti tutti i nomi delle funzioni js esempio

    per fare un uppercase in php strtoupper($str) in js str.toUpperCase() e se devi lavorare spesso con i 2 linguaggi e' facile sbagliarsi .....

    QUindi posso capire perche' lo ha fatto ^_^
    sai quante volte mi capita di concatenare con + php perche' fino a 2 sec prima avevo lavorato su js T_T

    Cmq iddio benedica le timestamp!!!!!!!!!!!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.