+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

[VS 2008 PRO]Lettere Accentate non riconosciute nella ricezione delle e-mail.

  1. #1
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Ho cercato dappertutto e non sono riuscito ancora a venirne a capo con le lettere accentate
    nella ricezione delle mail,non vengono riconosciute correttamente.
    Premetto che tutto funziona correttamente.

    Questo il codice:-
    Dgv il DataGridView
     For i = 1 To nmrMessaggi ' nmrMessaggi  il totale dei messaggi da scaricare
                msgstring = GetMessage(i)  'GetMessage  la funzione che scarica i messaggi dal server
                msg = CreateFromText(msgstring)
                Dgv.Item(0, i - 1).Value = splitpiu(0)
                Dgv.Item(1, i - 1).Value = msg._Subject
                Dgv.Item(2, i - 1).Value = msg._From
                Dgv.Item(3, i - 1).Value = msg._To
                Dgv.Item(4, i - 1).Value = i
                Dgv.Item(5, i - 1).Value = msg._Received
                TextBox3.AppendText(msg._Body & vbCrLf)
            Next
    
    Questa la funzione
     Function GetMessage(ByVal msgindex As Integer) As String
            Dim tmpString As String
            Dim Data As String
            Dim SzData() As Byte
            Dim msg As String = String.Empty
            Try
                Data = "RETR " & msgindex.ToString & vbCrLf
                SzData = Encoding.ASCII.GetBytes(Data.ToCharArray)
                NetStrm.Write(SzData, 0, SzData.Length)
                tmpString = RdStrm.ReadLine()
                If tmpString.Substring(0, 4) <> "-ERR" Then
                    While (tmpString <> ".")
                        msg = msg & tmpString & vbCrLf
                        tmpString = RdStrm.ReadLine
                    End While
                End If
            Catch exc As InvalidOperationException
                MsgBox("Errore: " & vbCrLf & Err.ToString())
            End Try
            Return msg
        End Function
    
    questa l'altra funzione:-

     Public Function CreateFromText(ByVal strMessage As String) As Message
            Dim Mssg As New Message
            Dim brkPos As Integer
            Dim Header As String
            Dim Headers() As String
            Dim Body As String
            Dim HeaderName As String
            Dim HeaderValue As String
            brkPos = InStr(1, strMessage, vbCrLf & vbCrLf)
            If brkPos Then
                Header = strMessage.Substring(0, brkPos - 1)
                 Body = strMessage.Substring(brkPos + 1, strMessage.Length - Header.Length - 3)
            Else
                Throw New Exception("Formato messaggio non valido.")
                Exit Function
            End If
            Headers = Split(Header, vbCrLf)
            Dim _header As String
            For Each _header In Headers
                brkPos = _header.IndexOf(":")
                If brkPos >= 0 Then
                    HeaderName = _header.Substring(0, brkPos)
                Else
                    HeaderName = ""
                End If
                HeaderValue = _header.Substring(brkPos + 1)
                Select Case HeaderName.ToLower
                    Case "received"
                        Mssg._Received = HeaderValue
                    Case "from"
                        Mssg._From = HeaderValue
                    Case "to"
                        Mssg._To = HeaderValue
                    Case "subject"
                        Mssg._Subject = HeaderValue
                    Case "date"
                        Mssg._Date = HeaderValue
                End Select
            Next
            Return Mssg
        End Function
    
    Ho provato tutti gli Encoding,ma il risultato sempre lo stesso.
    Any idea?
    Ultima modifica di elisab; 23-03-2012 19:24 
    ℹ️ Leggi di pi su sistemista ...

  2. #2
    Post
    2,278
    Blogs
    6
    Like Inviati  
    6
    Like Ricevuti  
    3
    Che oggetto RdStrm ?

    L'encoding da utilizzare : System.Text.Encoding.GetEncoding(1252)
    ℹ️ Leggi di pi su Fix ...

  3. #3
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Che oggetto RdStrm ?
    StreamReader

    L'encoding da utilizzare : System.Text.Encoding.GetEncoding(1252)
    Gi provato in precedenza anche come UTF8 ma non v.
    ℹ️ Leggi di pi su sistemista ...

  4. #4
    mastrix non  in linea Scolaretto
    Post
    352
    Like Inviati  
    0
    Like Ricevuti  
    0
    Posta anche il codice dove valorizzi RdStrm...

  5. #5
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Imports System.Text.Encoding
    Imports System.Net.Sockets
    Imports System.Text
    Imports System.IO
    -------------------------------------------------------------------------------------------------------------------
    Module POP3Message1
    
        Dim Server As TcpClient
        Dim NetStrm As NetworkStream
        Dim RdStrm As StreamReader
    
    Ho anche visualizzato per intero i messaggi e la codifica (dal server) fatta in iso-8859-1.
    ℹ️ Leggi di pi su sistemista ...

  6. #6
    mastrix non  in linea Scolaretto
    Post
    352
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da mastrix Visualizza il messaggio
    Posta anche il codice dove valorizzi RdStrm...
    Quote Originariamente inviato da sistemista Visualizza il messaggio
    Imports System.Text.Encoding
    Imports System.Net.Sockets
    Imports System.Text
    Imports System.IO
    -------------------------------------------------------------------------------------------------------------------
    Module POP3Message1
    
        Dim Server As TcpClient
        Dim NetStrm As NetworkStream
        Dim RdStrm As StreamReader
    
    Questa solo la dichiarazione...

  7. #7
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Si,hai ragione ho avuto un lapsus.
    tmpString = RdStrm.ReadLine
    
    nel primo post dentro la funzione GetMessage.
    ℹ️ Leggi di pi su sistemista ...

  8. #8
    mastrix non  in linea Scolaretto
    Post
    352
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao sistemista...

    Non volevo dire neanche questo, anche perch questo il codice che hai postato nel primo post...

    Cmq,
    cerco di andare cos senza codice, e lo prendo da MSDN...
     Dim sr As StreamReader = New StreamReader("c:\tmp\TestFile.txt", System.Text.Encoding.Default)
    
    E' qui che hai provato tutti gli Encoding????

    Prova a Dare un'occhiata anche qui
    Encoding.Convert Method (Encoding, Encoding, Byte[]) (System.Text)

    Bye....

  9. #9
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Non so se hai seguito tutto il thread dall'inizio,ma non devo leggere un file di testo,devo
    interpretare le risposte del server,suddividere il messaggio in varie parti ed eseguire
    uno "split" del messaggio suddiviso dai vari received,from,to,subject etc.etc.
    ed ho provato tutti gli encoding a disposizione,ma il problema rimane.
    ℹ️ Leggi di pi su sistemista ...

  10. #10
    Post
    2,278
    Blogs
    6
    Like Inviati  
    6
    Like Ricevuti  
    3
    Ciao sistemista,
    il problema (secondo me) risiedere nell'inizializzazione dello StreamReader.

    Dovresti postare la parte in cui prendi lo stream NetworkStream, dal TCPCLIENT, e generi lo StreamReader.
    ℹ️ Leggi di pi su Fix ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Problema nel leggere lettere accentate e caratteri speciali
    Da nico88 nel forum Visual Basic .Net
    Risposte: 6
    Ultimo Post: 26-02-2014, 13:14
  2. Risolto: Problema lettere accentate RichTextBox
    Da en3rgizer nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 19-07-2012, 23:05
  3. Risolto: Lettura di un file di testo txt (con lettere accentate)
    Da mario53 nel forum Visual Basic .Net
    Risposte: 3
    Ultimo Post: 03-11-2010, 10:20
  4. [HTML]Lettere accentate
    Da sly185 nel forum HTML, CSS e JavaScript
    Risposte: 5
    Ultimo Post: 29-11-2007, 18:42
  5. Lettura file di testo con lettere accentate
    Da sly185 nel forum Visual Basic .Net
    Risposte: 5
    Ultimo Post: 28-12-2006, 16:23