Tjaba! Problem: Har en sträng med ÅÄÖ som jag skickar över till en SMTPserver. Skulle genast gissa på att all text skickas som utf-8/något annat unicode (har inte full koll på vad som är standard, kan vara utf-16 också) eftersom att ISO-8859-1 inte kan visa alla tecken (kör du unicode har du inte de problemen, därav valet av unicode.) Nu är det dock så att du anger att texten är skickad som ISO-8859-1, eller mottagaren tror iaf. det eftersom att det står så... det där är när jag bygger strängen som ska skickas iväg. När jag väl skickar iväg den så använder jag detta: Muahaha, det är nu löst.Encoding Converting ÅÄÖ
Problemet är bara att de tolkas som ???, vilket inte är önskvärt.
me.body är alltså själva strängen ... hur ska jag lösa detta? nån som vet ?
<code>
'header
Dim x As String = _
"From: <" & Me.From & "> " & vbCrLf & _
"To: " & Me.ToAddress & " " & vbCrLf & _
"Subject: " & Me.Subject & " " & vbCrLf & _
"X-Mailer: Avancit Rickard Robin Mailer 1.1b" & vbCrLf & _
"MIME-Version: 1.0 " & vbCrLf & _
"Content-Type: multipart/mixed; " & vbCrLf & _
" boundary= ""KkK170891tpbkKk__FV_KKKkkkjjwq"" " & vbCrLf & _
vbCrLf & _
"--KkK170891tpbkKk__FV_KKKkkkjjwq " & vbCrLf & _
"Content-Type: text/plain; charset=ISO-8859-1 " & vbCrLf & _
vbCrLf & _
Me.Body & vbCrLf & _
vbCrLf
</code>
HJÄÄÄLP!Sv: Encoding Converting ÅÄÖ
Så... Testa att byta ut ISO-8859-1 mot utf-8 så kanske det fungerarSv:Encoding Converting ÅÄÖ
<code>
Dim ascenBuf As System.Text.UnicodeEncoding = New System.Text.UnicodeEncoding(True, True)
'Dim ascenBuf As System.Text.UnicodeEncoding = New System.Text.UnicodeEncoding
'Dim ascenBuf As System.Text.Encoding = New System.Text.UnicodeEncoding
Dim btWriteBuffer(1024) As Byte
Try
btWriteBuffer = ascenBuf.GetBytes(Msg)
Dim stmSend As NetworkStream = GetStream()
stmSend.Write(btWriteBuffer, 0, btWriteBuffer.Length)
Catch ex As Exception
Throw New Exception("Error Sending Data to Server. " & _
"Written data: " & vbNewLine & Msg & vbNewLine & _
"Errormessage: " & ex.Message & vbNewLine & _
"Stacktrace: " & ex.StackTrace)
End Try
</code>
Och förändranrar jag encoding ovan där, DÅ förändras ÅÄÖ bokstäverna !! Just nu har jag lyckats byta dem till lustiga övriga tecken, men inte just ÅÄÖ.
Plis help!Sv: Encoding Converting ÅÄÖ
I meddelandet:
<code>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit;
</code>
I koden där jag encodar:
<code>
Dim ascenBuf As System.Text.Encoding = Encoding.GetEncoding("ISO-8859-1")
Dim btWriteBuffer(1024) As Byte
Try
btWriteBuffer = ascenBuf.GetBytes(Msg)
Dim stmSend As NetworkStream = GetStream()
stmSend.Write(btWriteBuffer, 0, btWriteBuffer.Length)
Catch ex As Exception
Throw New Exception("Error Sending Data to Server. " & _
"Written data: " & vbNewLine & Msg & vbNewLine & _
"Errormessage: " & ex.Message & vbNewLine & _
"Stacktrace: " & ex.StackTrace)
End Try
</code>