Registriert seit: 08.11.2018
Version(en): 2007
Hola los Todos!
Ich nutze ein Tool um Werte aus Excel gegen Werte in html Dateien auszutauschen: https://www.clever-excel-forum.de/Thread...en-matchen
Funktioniert auch super, solange man nicht Sprachen mit Sonderzeichen (Spanisch) oder gleich ganz andere Buchstaben wie bei Griechisch oder Bulgarisch nutzt.
Wenn ich das Ganze händisch austausche, funktioniert es wunderbar, ist also kein Problem des Browsers oder von html.
Ich habe es auch schon mit Sprachumstellung probiert, leider erfolglos.
Sogar spanische Texte auf einer reinen spanischen Excelversion bzw. Officeversion werden nicht sauber übertragen.
Ich habe es mit Einschließen von Tags probiert wie
aber auch nicht erfolgreich.
Danke und Gruss
Peter
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
öffnest Du die html mit einem Texteditor und tauschst dann die Zeichen aus - die sind also in den html-Dateien korrekt enthalten? Eventuell kannst Du mal eine html posten.
Falls nicht, wie kommst Du denn zu den html-Dateien? Wenn Du hier selber irgendwelche Quelltexte irgendwoher beziehst, könnte es auch sein, dass z.B. die Codierung nicht passt - 128 bit enthält z.B. ein paar Zeichen weniger als 256 bit und die höherwertigen werden irgendwohin reduziert, z.B. auf 63 oder andere …
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 08.11.2018
Version(en): 2007
Hi!
Die Dateien sind alle als datei.html gespeichert.
Anbei ein auf das Problem reduzierter Code:
Code: <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
</head>
<style>
body {
background: #0a69b7;
color: #ffffff;
}
p, h3 {
text-align: center;
}
</style>
<body>
<div class="w3-container w3-center">
<h1>X-TEXT-X</h1>
</div>
</body>
</html>
Ich möchte mit Deinem Tool X-TEXT-X ersetzen.
Das passiert dann je nach Sprache:
IKT-Techniker/IKT-Technikerin (deutsch) geht ohne Probleme
Börsenhändler/Börsenhändlerin (deutsch) geht nicht fehlerfrei, weil Zeichen "ö" und "ä" nicht erkannt werden) = B�rsenh�ndler/B�rsenh�ndlerin
ICT technician (englisch) geht auch ohne Probleme
técnico de TIC/técnica de TIC (spanisch) geht nicht fehlerfrei, weil Zeichen "é" nicht erkannt wird) = t�cnico de TIC/t�cnica de TIC
technik ICT/technička ICT (tschechisch) geht nicht fehlerfrei, weil Zeichen "č" nicht erkannt wird) bzw. es wird ein "deutsches" c daraus = technik ICT/technicka ICT
τεχνικός πληροφοριακών συστημάτων/δικτύων (griechisch) geht gar nicht weil nix erkannt wird)
= te?????? p????f???a??? s?st?�?t??/d??t???
Ich habe X-Text-X auch schon so formatiert, jedoch auch mit dem Ergebnis s.o.
Code: <p><span lang="de">X-TEXT-X</span></p>
<p><span lang="es">X-TEXT-X</span></p>
<p><span lang="cs">X-TEXT-X</span></p>
<p><span lang="el">X-TEXT-X</span></p>
<li lang="de">X-TEXT-X</li>
<li lang="es">X-TEXT-X</li>
<li lang="cs">X-TEXT-X</li>
<li lang="el">X-TEXT-X</li>
Danke und Gruss
Peter
Registriert seit: 29.09.2015
Version(en): 2030,5
28.09.2019, 13:08
(Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2019, 13:08 von snb.)
Code: Sub M_snb_UTF8_ADODB()
c00 = Join(Array("<!DOCTYPE html>", "<html>", "<head>", "<meta charset=""UTF-8"">", "<meta name=""viewport"" content=""width=device-width, initial-scale=1.0"">", "<link rel=""stylesheet"" href=""https://www.w3schools.com/w3css/4/w3.css"">", "</head>", "<body>", "<div class=""w3-container w3-center"">", "<h1>üéâäàå</h1>", "</div>", "</body>", "</html>"), vbCrLf)
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "utf-8"
.Open
.writetext c00
.SaveToFile "G:\OF\__UTF8_ADODB.html", 2
.Close
End With
End Sub
Alternativ:
Code: Sub M_snb_UTF8_ADODB()
c00 = Join(Array("<!DOCTYPE html>", "<html>", "<head>", "<meta charset=""UTF-8"">", "<meta name=""viewport"" content=""width=device-width, initial-scale=1.0"">", "<link rel=""stylesheet"" href=""https://www.w3schools.com/w3css/4/w3.css"">", "</head>", "<body>", "<div class=""w3-container w3-center"">", "<h1>üéâäàå</h1>", "</div>", "</body>", "</html>"), vbCrLf)
CreateObject("Scripting.FileSystemObject").CreateTextFile("G:\OF\__UNICOde_FSO.html", , True).write c00
End Sub
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• PeterN
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
snb's Ansatz in das Projekt eingearbeitet könnte so aussehen:
Code: Option Explicit
Sub Ersetzen1()
'Variablendeklarationen
Dim iCnt%, arrDaten
Dim strMsg1$, strMsg2$
'Schleife ueber alle Zeilen
For iCnt = 1 To Cells(Rows.Count, 1).End(xlUp).Row
'Daten aufnehmen
arrDaten = Cells(iCnt, 1).Resize(1, 4)
'File einlesen
strMsg1 = FileReadUTF_8(arrDaten(1, 1))
'Daten ersetzen
strMsg2 = Replace(strMsg1, arrDaten(1, 3), arrDaten(1, 4))
'Datei schreiben
FileWriteUTF_8 arrDaten(1, 1), strMsg2
'Ende Schleife ueber alle Zeilen
Next
'FertigMeldung ausgeben
MsgBox "Fertig!"
End Sub
Public Function FileReadUTF_8(ByVal strFile As String) As String
'Wenn die Datei nicht existiert, dann Funktion verlassen
If Dir$(strFile, vbNormal) = "" Then Exit Function
'Datei komplett einlesen
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "UTF-8"
.Open
.LoadFromFile strFile
FileReadUTF_8 = .ReadText
.Close
'Ende Datei komplett einlesen
End With
End Function
Public Sub FileWriteUTF_8(ByVal strFile As String, ByVal strTxt As String)
'Datei Inhalt ?berschreiben
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "utf-8"
.Open
.writetext strTxt
.SaveToFile strFile, 2
.Close
'Ende Datei Inhalt ?berschreiben
End With
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• PeterN
Registriert seit: 08.11.2018
Version(en): 2007
Super! Perfekt! Klasse!
Ihr beiden seid die Geilsten!
Funktioniert sogar mit Arabisch, Chinesisch und Maltekisch.
Danke und Gruss
Peter
|