Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Come faccio a sapere in quale modo è stata codificata una stringa?

    Ciao tramite un FileUpload carico dei file CSV (quindi file di testo) sul server e chiamo il metodo File.ReadAllText("nome file", Encoding.Unicode);
    Però non sempre funzione perchè non tutti i CSV che ho sono codificati in Unicode. Come faccio prima di chiamare quel metodo a sapere come è stato codificato quel file?
    Grazie!!
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

  2. #2
    usa un System.IO.StreamReader per leggere il file ed analizza la property "CurrentEncoding".

    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Ho provato ma anche con un file codificato in Unicode la proprietà CurrentEncoding vale sempre UTF8 e la stringa risulta illeggibile. Forse è un errore nella codifica della stringa di partenza, la codifico così:
    Codice PHP:
    Response.ContentType "text/csv";
    Response.ContentEncoding Encoding.Unicode;
    Response.AppendHeader("Content-Disposition""attachment;filename=Articoli.csv");
    Response.BinaryWrite(Encoding.Unicode.GetBytes(CSV));
    Response.End(); 
    Poi la decodifica viene fatta così:
    Codice PHP:
    fuCSV.SaveAs(Server.MapPath("..\\img_temp\\" fuCSV.FileName));
    StreamReader read File.OpenText(Server.MapPath("..\\img_temp\\" fuCSV.FileName));
    string sCSV File.ReadAllText(Server.MapPath("..\\img_temp\\" fuCSV.FileName), read.CurrentEncoding); 
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

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 © 2025 vBulletin Solutions, Inc. All rights reserved.