Moin Moin zusammen,
ich stehe aktuell mal wieder vor dem Problem der deutschen Sprache![;)](https://www.vb-paradise.de/wcf/images/smilies/wink.png)
Aktuell bin ich etwas am verzweifeln, denn egal wie ich es mache, es ist immer das falsche Ergebnis.
Hier mal meine Funktion:
Spoiler anzeigen
Folgendes Szenario:
Ich möchte 2 verschiedene Schnittstellen abfangen, grundsätzlich sollten beide die gleiche "Sprache" sprechen, tun sie leider nicht.
Anbei mal 2 Screenshots mit der Encode Analyse
![](https://www.vb-paradise.de/index.php/Attachment/53381-bild2-png/?thumbnail=1)
Laut Notepad++ ist die Datei die funktioniert in UTF-8, die die nicht geht soll angeblich ANSI sein.
Im normalen "Editor" sind beide Dateien ANSI und laut den Screenshots sind beide Dateien UTF-8
Kann mir hier vielleicht jemand bei helfen?
Grüße SaMsOn
ich stehe aktuell mal wieder vor dem Problem der deutschen Sprache
![;)](https://www.vb-paradise.de/wcf/images/smilies/wink.png)
Aktuell bin ich etwas am verzweifeln, denn egal wie ich es mache, es ist immer das falsche Ergebnis.
Hier mal meine Funktion:
VB.NET-Quellcode
- Private Function load_gdt() As String
- If File.Exists(Path.Combine(My.Settings.gdt_pfad, My.Settings.gdt_datei)) Then
- System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
- Dim objReader As New StreamReader(Path.Combine(My.Settings.gdt_pfad, My.Settings.gdt_datei), System.Text.UTF8Encoding.Default)
- 'Dim objReader As New StreamReader(Path.Combine(My.Settings.gdt_pfad, My.Settings.gdt_datei), Encoding.GetEncoding("CP852"))
- 'Dim objReader As New StreamReader(Path.Combine(My.Settings.gdt_pfad, My.Settings.gdt_datei), System.Text.Encoding.GetEncoding(1252))
- Dim sLine As String = ""
- Dim arrText As New ArrayList()
- Do
- sLine = objReader.ReadLine()
- If Not sLine Is Nothing Then
- arrText.Add(sLine)
- End If
- Loop Until sLine Is Nothing
- objReader.Close()
- For Each sLine In arrText
- Try
- 'PatID
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3000") Then
- tb_patid.Text = sLine.Remove(0, 7)
- End If
- 'Vorname
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3102") Then
- tb_vorname.Text = sLine.Remove(0, 7)
- End If
- 'Nachname
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3101") Then
- tb_nachname.Text = sLine.Remove(0, 7)
- End If
- 'Geburtsdatum
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3103") Then
- tb_gebdatum.Text = sLine.Remove(0, 7)
- End If
- 'PLZ / Ort
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3106") Then
- Dim plz As String = sLine.Remove(0, 7)
- Dim ort As String = sLine.Remove(0, 13)
- plz = plz.Remove(5)
- tb_plz.Text = plz
- tb_ort.Text = ort
- End If
- 'strasse
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3107") Then
- tb_strasse.Text = sLine.Remove(0, 7)
- End If
- 'Telefon
- Dim vorwahlen4() As String = {"0160", "0162", "0163", "0170", "0171", "0172", "0173", "0174", "0175", "0176", "0177", "0178", "0179"}
- Dim vorwahlen5() As String = {"01511", "01512", "01514", "01515", "01516", "01517", "01520", "01521", "01523", "01525", "01529", "01570", "01573", "01575", "01577", "01578", "01579", "01590"}
- Dim vorwahlen6() As String = {"015566", "015630", "015678", "015888"}
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3150") Then
- If vorwahlen4.Any(Function(b) sLine.Remove(0, 7).StartsWith(b)) Then
- tb_mobil.Text = sLine.Remove(0, 7).Replace(" ", "").Replace("/", "").Replace("-", "")
- Else
- tb_telefon.Text = sLine.Remove(0, 7).Replace(" ", "").Replace("/", "").Replace("-", "")
- End If
- If vorwahlen5.Any(Function(b) sLine.Remove(0, 7).StartsWith(b)) Then
- tb_mobil.Text = sLine.Remove(0, 7).Replace(" ", "").Replace("/", "").Replace("-", "")
- Else
- tb_telefon.Text = sLine.Remove(0, 7).Replace(" ", "").Replace("/", "").Replace("-", "")
- End If
- If vorwahlen6.Any(Function(b) sLine.Remove(0, 7).StartsWith(b)) Then
- tb_mobil.Text = sLine.Remove(0, 7).Replace(" ", "").Replace("/", "").Replace("-", "")
- Else
- tb_telefon.Text = sLine.Remove(0, 7).Replace(" ", "").Replace("/", "").Replace("-", "")
- End If
- End If
- If sLine.Remove(0, 3).Remove(4, sLine.Length - 7).Contains("3456") Then
- tb_email.Text = sLine.Remove(0, 7)
- End If
- Catch ex As Exception
- End Try
- Next
- If My.Settings.gdt_autodel = True Then
- Try
- File.Delete(Path.Combine(My.Settings.gdt_pfad, My.Settings.gdt_datei))
- Catch
- MsgBox("Kann die GDT-Datei nicht löschen!" & Path.Combine(My.Settings.gdt_pfad, My.Settings.gdt_datei))
- End Try
- End If
- Else
- lbl_gdt_not_found.Visible = True
- End If
- End Function
Folgendes Szenario:
Ich möchte 2 verschiedene Schnittstellen abfangen, grundsätzlich sollten beide die gleiche "Sprache" sprechen, tun sie leider nicht.
Anbei mal 2 Screenshots mit der Encode Analyse
Laut Notepad++ ist die Datei die funktioniert in UTF-8, die die nicht geht soll angeblich ANSI sein.
Im normalen "Editor" sind beide Dateien ANSI und laut den Screenshots sind beide Dateien UTF-8
Kann mir hier vielleicht jemand bei helfen?
Grüße SaMsOn
Nein! Doch! OHH!