- Speichern Sie die Datei im durch Kommas getrennten Format .csv.
- Öffnen Sie es in OpenOffice, damit Sie die Kodierung in die richtige Kodierung ändern können.
- Speichern Sie die Datei im OpenOffice-Format im .xls-Format.
Excel-Kodierung ändern
Ein schlecht geschriebenes Programm hat eine Excel-Datei mit der falschen hebräischen Kodierung und mit kryptischen Zeichenfolgen exportiert:
ãåç ì÷åçåú äåãòåú åéîé äåìãú
Mit einer Codierungslöser-Site habe ich herausgefunden, dass der ursprüngliche Text:
דוח לקוחות הודעות וימי הולדת
Was im Übrigen "Kundenberichtsbenachrichtigungen und Geburtstage" bedeutet, auf Hebräisch.
Gibt es eine Möglichkeit, die Codierung für das gesamte Dokument in Excel zu ändern?
2 Antworten auf die Frage
Dies ist keine vollständige Lösung, scheint aber ein Schritt in Richtung Lösung zu sein.
Die beiden Zeichenfolgen sind beide 28 Zeichen lang, was auf eine Eins-zu-Eins-Kodierung schließen lässt.
Die Anzeige der beiden Zeichenfolgen im Hexadezimalformat ergibt:
(E3)(E5)(E7)(20)(EC)(F7)(E5)(E7)(E5)(FA)(20)(E4)(E5)(E3)(F2)(E5)(FA)(20)(E5)(E9)(EE)(E9)(20)(E4)(E5)(EC)(E3)(FA) (5D3)(5D5)(5D7)(20)(5DC)(5E7)(5D5)(5D7)(5D5)(5EA)(20)(5D4)(5D5)(5D3)(5E2)(5D5)(5EA)(20)(5D5)(5D9)(5DE)(5D9)(20)(5D4)(5D5)(5DC)(5D3)(5EA)
Die zweite Zeile enthält hauptsächlich die Unicode-Werte für hebräische Buchstaben.
Die Konvertierung zum Abrufen der ersten Zeile scheint zu sein:
20 (space) unchanged 5Dx Ex 5Ex Fx
Dies ist kein vollständiges Konvertierungsdiagramm, da die Unicode-Werte für die hebräischen Buchstaben von hexadezimal 591 bis 5F4 reichen.
Die folgende grobe Routine akzeptiert die erste Zeichenfolge und gibt die zweite zurück.
Function Decode(CompactStg As String) As String Dim CompactChar As Integer Dim DecodedChar As Integer Dim DecodedStg As String Dim Pos As Integer DecodedStg = "" For Pos = 1 To Len(CompactStg) CompactChar = Asc(Mid(CompactStg, Pos, 1)) Select Case CompactChar Case 32 To 127 ' Hex 20 - 7F ' No change DecodedChar = CompactChar Case 224 To 239 ' Hex E0 - EF ' Convert EX to 5DX DecodedChar = CompactChar + 1264 Case 240 To 255 ' Hex F0 - FF ' Convert FX to 5EX DecodedChar = CompactChar + 1264 End Select DecodedStg = DecodedStg & ChrW(DecodedChar) Next Decode = DecodedStg End Function
Ich habe die folgende Routine verwendet, um die Zeichenfolgen im unmittelbaren Fenster auszugeben. Mit einigen weiteren Beispielen können Sie alle Konvertierungen bestimmen. Die hebräischen Buchstaben hexadezimal 591 bis 5C7 können auch durch Hinzufügen von Dezimalzahlen 1264 konvertiert werden. Dies kann jedoch nicht die Konvertierung für die hebräischen Buchstaben 5F0 bis 5F4 sein.
Sub HexOut(Stg) Dim Pos For Pos = 1 To Len(Stg) Debug.Print "(" & Hex(AscW(Mid(Stg, Pos, 1))) & ")"; Next Debug.Print End Sub
Habe Spaß!
Verwandte Probleme
-
3
Meine Datei ist in Excel 2007 gesperrt. Was ist los?
-
2
Gibt es eine Möglichkeit, Excel 2007 automatisch zu speichern, wie dies bei MS Word der Fall ist?
-
1
Excel Word Wrap + verschwindet Text
-
1
Einfaches Zusammenführen / Löschen mit Excel
-
7
Wie können Sie Microsoft Excel mit voller Geschwindigkeit laufen lassen, auch wenn der Fensterfokus...
-
3
Wie kodiere ich Videos am besten für den Upload auf YouTube?
-
2
Warum können Sie Bilder nicht in Excel kopieren / einfügen, aber Screenshots funktionieren?
-
3
So synchronisieren Sie Excel mit der Google Docs-Tabelle
-
9
Wie teilen Sie einen Namen auf, um Vorname und Nachname zu erhalten?
-
1
Links in Excel haben sich nach einem Absturz geändert