Office: (Office 2016) Sonderzeichen aus einer Textdatei einlesen

Helfe beim Thema Sonderzeichen aus einer Textdatei einlesen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo! Ich habe ein Problem beim Einlesen von Sonderzeichen aus einer Textdatei. In meiner Textdatei test.txt steht z.B. folgendes Wort: Temizsoyoğlu... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von haiflosse, 5. März 2020.

  1. Sonderzeichen aus einer Textdatei einlesen


    Hallo!
    Ich habe ein Problem beim Einlesen von Sonderzeichen aus einer Textdatei.
    In meiner Textdatei test.txt steht z.B. folgendes Wort: Temizsoyoğlu

    Wenn ich aber über vba diese Textdatei einlese bekomme ich beim Einlesen folgendes Wort eingelesen: Temizsoyoğlu

    Hier mein Code:


    PHP:
             strText DateiAuslesen(CurrentProject.Path "test.txt")

    Public Function 
    DateiAuslesen(Dateipfad As String) As String

    DateiAuslesen 
    CreateObject("Scripting.FileSystemObject"_
    .OpenTextFile(Dateipfad).ReadAll

    End 
    Function
    :)
     
    haiflosse, 5. März 2020
    #1
  2. Sieh Dir mal statt der FSO-Methode einen ADODB-Stream an. Dort kann man die Codeseite einstellen, womit bei passender Wahl die Zeichen richtig eingelesen werden sollten.
     
    ebs17, 7. März 2020
    #2
  3. Hallo haiflosse,

    du benutzt zum Einlesen nicht VBA alleine, sondern das FSO! Mit FSO geht es gar nicht und mit VBA muß die Textdatei im binären Modus als Bytearray eingelesen werden. Anschließend müssen die Daten in eine nach Unicode konvertiert werden.
    Das von Eberhard bereits vorgeschlagene ADODB.Stream Objekt sollte das auch unterstützen.

    Gruß Ulrich
     
    knobbi38, 7. März 2020
    #3
  4. Sonderzeichen aus einer Textdatei einlesen

    Danke für die Antwort.
    Ich habe nun folgendes versucht:

    PHP:
             Private Sub te()
    strText dateilesen(CurrentProject.Path "test.txt")
    End Sub

    Public Function dateilesen(dateipfad As String) As String

    Dim adoStream 
    As ADODB.Stream
    Dim strText 
    As String

    Set adoStream 
    = New ADODB.Stream
    adoStream
    .Charset "UTF-8"

    adoStream.Open
    adoStream
    .LoadFromFile dateipfad
    strText 
    adoStream.ReadText
    adoStream
    .Close
    Set adoStream 
    Nothing

    End 
    Function
     
    haiflosse, 8. März 2020
    #4
  5. Für landestypische Sonderzeichen sollte man sich evtl. um eine entsprechende landestypische Codepage kümmern.
     
    ebs17, 8. März 2020
    #5
  6. Danke für die Antwort.
    Wie kann ich dies am besten feststellen um welche Sprache es handelt, da es sich um Kundendaten, die von unterschiedlichen Länder kommen.
    Danke
     
    haiflosse, 8. März 2020
    #6
  7. Du vermutest also, dass jemand, der null Kontext zu dem, was Du tust und mit wem Du tust, hat, mehr Ahnung hat als Du selber oder Deine entsprechende Fachabteilung?

    Bei solch einem Dauernebel und wenn die Textdateien absenderlos vom Himmel fallen würde ich jedes Zeichen einzeln googeln und versuchen, aus der Summe der Informationen etwas abzuleiten
     
    ebs17, 8. März 2020
    #7
  8. Sonderzeichen aus einer Textdatei einlesen

    Danke für die Antwort.
    Leider weiß ich nicht welche Information ich liefern soll.
    Ich habe eine Liste von Adressen, wo es vorkommt dass verschiedenen Sonderzeichen enthalten sind.
    Mit dem Import UTF-8 funktioniert es auch schon recht gut, mit dem kleinen Schönheitsfehler, das die Zeichen ab dem ASCII Code 255 nicht direkt angezeigt werden, sondern wie ich schon geschrieben habe von z.B. ć in c oder ğ in g umgewandelt werden.
    Daher habe ich gefragt, ob es evtl. noch eine bessere Lösung gibt.
    Bitte sonst um eine Antwort, welche Infos ich noch übermitteln soll.
    Vielen Dank
     
    haiflosse, 8. März 2020
    #8
  9. Hallo,

    du gehst scheinbar davon aus, daß der Text utf-8 kodiert ist, was aber wohl nicht stimmt. Also mußt du herausbekommen, wie dein Text kodiert ist, sonst kannst du das Problem der falschen Zeichen nicht lösen.

    Anhaltspunkt für die Zeichenkodierung dürfte die Herkunft der Texte und der dort üblichen Kodierung sein. Es kann natürlich auch vorkommen, daß beim Kodieren Fehler gemacht worden sind. Ist ein bißchen wie Detektivarbeit.

    Ulrich
     
    knobbi38, 8. März 2020
    #9
  10. Hallo!
    Danke für die Antwort.
    Es handelt sich um eine html Seite die laut Header utf-8 Kodiert sein soll und dann auch die Zeichen im Web anzeigt.
    Hier eine Beispielsiete: http://computerkurs.atwebpages.com/daten/b.html
    Zumindest wenn ich das Wort Temizsoyoğlu in vba mit meiner letzten Funktion dateilesen importiere erhalte ich Temizsoyoglu.
    Hoffe es kann mir jemand noch weitere Hinweise geben.
    Danke
    Oder habe ich da etwas falsch verstanden.
     
    haiflosse, 8. März 2020
    #10
  11. Hallo,

    was hat jetzt diese Webseite mit deinem Problem zu tun?
    Lt. deinem Thema geht es um das Einlesen von Textdateien und nicht um die Darstellung von Webseiten. Das ist eine andere Baustelle.

    Wie bereits gesagt: nimm die Textdatei und versuche herauszubekommen, wie diese Datei kodiert ist. Am besten benutzt du dazu einen Editor, der mit verschiedenen Kodierungen umgehen und zusätzlich auch noch die Anzeige im Hexmodus beherrscht.

    Entsprechende Information zu den verschiedenen Zeichenkodierungen findet man in der Wikipedia.

    Ulrich
     
    knobbi38, 8. März 2020
    #11
  12. Danke für die Antwort.
    Die html Datei speichere ich in eine txt Datei.
    Ich habe meine txt mit dem notepad++ geöffnet und dort steht bei Kodierung utf-8. Ich habe auch andere Kodierungen ausprobiert und auch beim Einlesen verschiedene adoStream.Charset ausprobiert.
    Wenn ich nur nach dem Zeichen ğ suche handelt es sich um die Kodierung Türkisch ISO-8859-9. Ich habe somit versucht meine txt in ISO-8859-9 und beim vba Import das Charset ISO-8859-9 verwendet.
    Leider wird nie das ğ beim Import übernommen, sondern immer das normale g.

    Was mir auch aufgefallen ist, dass ich im VBA Editor von Access nie ein ğ eingeben kann. Wenn ich dieses Zeichen kopiere wir immer g eingefügt. Vielleicht liegt es auch an dem VBA Editor.
    lg
     
    haiflosse, 8. März 2020
    #12
  13. Sonderzeichen aus einer Textdatei einlesen

    Hallo,

    im VBA Editor können nur ANSI Zeichen verwendet werden. Deshalb kann das dort nicht eingegeben bzw. angezeigt werden.

    Das Zeichen ğ wird in UTF-8 in Hex mit C4 9F kodiert und in ANSI demnach richtig als ÄŸ dargestellt. Soweit ist alles ok.

    Ich weiß jetzt nicht, was du alles "ausprobiert" hast, aber mit folgendem Code wird die UTF-8 Datei eingelesen und das Ergebnis wie gewünscht in einer Textbox "txtText" korrekt dargestellt:
    Code:
    Ulrich
     
    knobbi38, 8. März 2020
    #13
  14. Danke für die Antwort.
    Ich hätte intern eine Funktion noch verwendet die Versucht Die Zeichen umzuwandeln. Nachdem ich sue nun entfernt habe funktioniert nun jetzt alles wunderbar.
    Vielen Dank für eure Unterstützung.
    Kg
     
    haiflosse, 9. März 2020
    #14
Thema:

Sonderzeichen aus einer Textdatei einlesen

Die Seite wird geladen...
  1. Sonderzeichen aus einer Textdatei einlesen - Similar Threads - Sonderzeichen Textdatei einlesen

  2. Text nach bestimmten Zeichen trennen (variabel)

    in Microsoft Excel Hilfe
    Text nach bestimmten Zeichen trennen (variabel): Hallo, ich habe eine Verständnisfrage bzw. Probleme bei der Formelfindung: Ausgangslage (als Beispiel anbei): in einer Zelle ist ein Text mit Sonderzeichen (nicht immer identisch, kann länger...
  3. Serienbrief Excel Datenquelle

    in Microsoft Word Hilfe
    Serienbrief Excel Datenquelle: Hallo zusammen, ich habe folgendes Problem: In meiner Excel Datenquelle Schreibe ich z.B. 1234567, 1234568 Name Spalte Ref Im Sereienbrief steht dann eine 0 In der alten Doc Version gab es hier...
  4. Excel Buchstaben anderer Länder korekt darstellen

    in Microsoft Excel Hilfe
    Excel Buchstaben anderer Länder korekt darstellen: Guten Tag, ich habe folgendes Problem, ich habe eine Tabelle voll Datensätze mit Namen verschiedener Länder. Die Datensätze wurden mit LibreOffice erstellt, dort wurden diese aus GoogleDocs in...
  5. Exel Sonderzeichen über VBA in Code einfügen

    in Microsoft Excel Hilfe
    Exel Sonderzeichen über VBA in Code einfügen: Für einen Stammbaum habe ich bisher über 400 Personen in Excel erfasst. Zur schnelleren Suche nach zusammenhängenden Personen werden die wesentlichen Daten in eine ListBox (ListPersonen)...
  6. Eingabeproblem nach Sonderzeichen

    in Microsoft Word Hilfe
    Eingabeproblem nach Sonderzeichen: Hallo, ich habe folgendes Problem: nach Eingabe eines Sonderzeichens in Word (Tastenkombination mit ALT) wird statt des anschließenden normal eingegebenen Zeichens, das Sonderzeichen wiederholt...
  7. Sonderzeichen finden per VBA

    in Microsoft Excel Hilfe
    Sonderzeichen finden per VBA: Liebes Forum! Ich habe ein Problem. Sonderzeichen (SZ) per VBA bei Eingabe überprüfen. In einem Tabellenblatt (Datei 1) habe ich ein Auswahlfeld (B1) mit Kurzbezeichnungen. Aus dieser Auswahl...
  8. Sonderzeichen für Gültigen Dateinamen elemeniren

    in Microsoft Excel Hilfe
    Sonderzeichen für Gültigen Dateinamen elemeniren: Hallo miteinander, in Spalte C stehen bei mir Namen mit Projekt nummern, blöderweise können Projektnummern Sonderzeichen enthalten wirklich alles,es gibt keine Richtlinie dafür leider. ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden