[C++] Webseite abfragen - Codierung



  • Dann setz dir mal bitte einen Brechpunkt vor die return-Anweisung und schau, was in res überhaupt drin ist.



  • pumuckl schrieb:

    Brechpunkt

    😃



  • Hi,

    da stehn nur seltsame Zeichen drin. Muss wohl irgendwas an der Codierung falsch sein denk ich mal...



  • Warum übergibst du eigentlich String-iteratoren an regex_match und nicht einfach die Strings? Und warum einen c_str an regex_search?



  • Hi,

    ich hatte mir ein Beispiel angesehn, wo das so gemacht wurde, deshalb hab ichs übernommen 😉

    Ändert aber auch nichts an den Fehlern...



  • Dann reduzier dein Problem mal bitte auf ein minimales compilierbares Beispiel, mit dem wir es nachvollziehen können, d.h. im Einzelnen:
    - lass den internetkram weg
    - befüll den vector stattdessen "zu fuß", d.h. einfach festkodiert deine 2-3 Strings reinbasteln

    Sollte alles zusammen in 20-30 Zeilen machbar sein. Wenns compiliert und bei dir immernoch den Fehler bringt, her damit, dann können wir dir helfen 🙂



  • Hi,

    vielleicht liegt aber grad in diesem Internet-Kram die Lösung meines Problems 😉

    Ich hab mittlerweile 2 Versionen des Programms, eine mit Multi-Byte-Zeichensatz und eine in Unicode-Zeichensatz.

    Die Multi-Byte-Version läuft, allerdings werden da Umlaute falsch angezeigt.
    Die Unicode-Verion läuft nicht, da gibt es die hier beschriebenen Fehler.

    Vielleicht ist es Ziel-führender, wenn ich mich nochmal über die Multi-Byte-Version hermache.
    Ich habe halt nirgends etwas gefunden, wie man eine PHP-API (eine normale Webseite mit PHP-Code als Quellcode), die in UTF8 codiert ist, in ein Multi-Byte Programm einliest, ohne dass Umlaute kaputt gehn.
    Ich benutze dazu InternetOpen, InternetOpenUrl und InternetReadFile, hab aber nirgends was gefunden, wie man die Codierung der Webseite einstellt.

    Vielleicht kann mir ja hier jemand weiterhelfen?

    Gruß



  • Raven280438 schrieb:

    vielleicht liegt aber grad in diesem Internet-Kram die Lösung meines Problems 😉

    Kann durchaus sein. Wenn du den Internetkram entfernst und alles andere lässt, und wenn dadurch das Problem verschwindet, weißt du schon mehr. Nur müssen wir dann nicht in den Regexen nach Fehlern suchen 😉

    Lass es uns wissen, wenns nicht mehr ein C++-Problem sondern was anderes ist. Du wirst dann ins passende Forum verschoben.



  • Raven280438 schrieb:

    Ich habe halt nirgends etwas gefunden, wie man eine PHP-API (eine normale Webseite mit PHP-Code als Quellcode), die in UTF8 codiert ist, in ein Multi-Byte Programm einliest, ohne dass Umlaute kaputt gehn.

    Du bekommst die Daten in UTF-8 und willst sie in ein Format umwandeln, mit dem du gut arbeiten kannst. Da bieten sich ISO-8859-1 oder natürlich UCS-2 bzw UCS-4 an.

    Zur Umwandlung nimm irgendeine passende Library, z.B. die dicke ICU. boost könnte mit den passenden Locales, Facets oder was weiß ich auch gehen.



  • Hi,

    hat schonmal jemand mit ICU gearbeitet und kann mir auf die Sprünge helfen?
    Ich arbeite grad die Documentation durch, aber so richtig blick ich nich durch...

    Gruß


Anmelden zum Antworten