Code: Alles auswählen.
DATA: text TYPE string.
text = '2kalkdfj Ü kjdk Ü Ü kalkd'.
WRITE: / text.
REPLACE ALL OCCURRENCES OF 'Ãœ' IN text WITH 'Ä' IN CHARACTER MODE.
WRITE: / text.
Code: Alles auswählen.
2kalkdfj Ü kjdk Ü Ü kalkd
2kalkdfj Ä kjdk Ä Ä kalkd
Eben.zzcpak hat geschrieben:häh? Was meinst du denn jetzt mit Symptomen bekämpfen? Er hat sich doch noch gar nicht geäußert, wo die Zeichen herkommen.
Das heißt, dass ein String verarbeitet werden soll, in dem statt Ä, Ö, Ü in der System-Codepage usw. eben offenbar die 2 Bytes für UTF-8-Darstellung vorkommen.donossi hat geschrieben:ich bekomme einen String in dem teilweise Ä, Ö und Ü durch Ö Ä bzw Ãœ erstetzt werden
Ja, sicher.zzcpak hat geschrieben:Aufgrund seines letzten Postings nehme ich eher an, daß die Sonderzeichen als konstante Zeichenkette im Quelltext stehen hat. Ist das der Fall und werden diese nach Aktivierung des Codings umgewandelt, ist die Frage nach GUI-Version und verwendetem Editor doch naheliegend. Gerade im Zusammenhang mit GUI und Sonderzeichen habe ich schon die seltsamsten Sachen erlebt.
Wo und wie kann ich (cl_abap_char_utilities=>charsize ist 1) überprüfen?Das heißt, dass ein String verarbeitet werden soll, in dem statt Ä, Ö, Ü in der System-Codepage usw. eben offenbar die 2 Bytes für UTF-8-Darstellung vorkommen.
Da normale ASCII-Zeichen nicht betroffen sind, gehe ich davon aus, dass das System ein Nicht-Unicode-System (cl_abap_char_utilities=>charsize ist 1) ist.
Und das von irgendwoher ein UTF-8-String ins System gekommen ist.
donossi hat geschrieben:Hallo,
Nach weiteren Nachschauen, habe ich festgestellt, dass folgende Aussage wohl korrekt ist:
Wo und wie kann ich (cl_abap_char_utilities=>charsize ist 1) überprüfen?Das heißt, dass ein String verarbeitet werden soll, in dem statt Ä, Ö, Ü in der System-Codepage usw. eben offenbar die 2 Bytes für UTF-8-Darstellung vorkommen.
Da normale ASCII-Zeichen nicht betroffen sind, gehe ich davon aus, dass das System ein Nicht-Unicode-System (cl_abap_char_utilities=>charsize ist 1) ist.
Und das von irgendwoher ein UTF-8-String ins System gekommen ist.
Code: Alles auswählen.
REPORT.WRITE cl_abap_char_utilities=>charsize.
Irgendwo rechts unter Hilfe...donossi hat geschrieben:Wie kann ich schauen, welche SAP GUI Version ich verwende?
Wo kommen die Zeichen denn nun her?donossi hat geschrieben:Wie bekomme ich den String von UTF8 in den benutzen Zeichensatz? Wie bekomme ich raus, was für ein Zeichensatz benutzt wird? Wie konvertiere ich den String in den akutellen Zeichensatz?
Code: Alles auswählen.
DATA: in1 TYPE REF TO cl_abap_conv_in_ce.
in1 = cl_abap_conv_in_ce=>create( input = iv_uv_xml
).
in1->read( IMPORTING data = uv_xml ).
Code: Alles auswählen.
DATA: in1 TYPE REF TO cl_abap_conv_in_ce.
in1 = cl_abap_conv_in_ce=>create( encoding = 'UTF-8' input = iv_uv_xml
).
in1->read( IMPORTING data = uv_xml ).