| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Problem mit Encoding von UTF8 nach ANSI (1116 / mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009
|
erstellt am: 03. Nov. 2016 20:03 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe folgendes Problem, ich verwende das DsdData objekt, um die Plotparameter zur Erstellung einer dsd-Datei zu schreiben.
Code: DsdData dsdData = new DsdData(); dsdData.SheetType = SheetType.SinglePdf; dsdData.ProjectPath = "C:\\Temp\\Plot"; dsdData.SetDsdEntryCollection(collection); string dsdFile = dsdData.ProjectPath + "\\dsdData.dsd"; dsdData.WriteDsd(dsdFile);
Das Problem ist, dass in der geschriebenen dsd-Datei die Umlaute im Suchpfad falsch kodiert wurden. Das Ergebnis sieht zum Beispiel so aus. Code:
[DWF6Version] Ver=1 [DWF6MinorVersion] MinorVer=1 [DWF6Sheet:M31.1_001] DWG=C:\Temp\G\U+FFFDteborg\Landvetter backa etapp1\M31.1.dwg Layout=001 Setup=Setup_PdfCreator|H:\Dropbox\2014\INSTALL\dwg\Pdfcreator.dwg OriginalSheetPath= Has Plot Port=0 Has3DDWF=0 [DWF6Sheet:M31.1_002] DWG=C:\Temp\G\U+FFFDteborg\Landvetter backa etapp1\M31.1.dwg Layout=002 Setup=Setup_PdfCreator|H:\Dropbox\2014\INSTALL\dwg\Pdfcreator.dwg OriginalSheetPath= Has Plot Port=0 Has3DDWF=0 [DWF6Sheet:M31.1_003] DWG=C:\Temp\G\U+FFFDteborg\Landvetter backa etapp1\M31.1.dwg Layout=003 Setup=Setup_PdfCreator|H:\Dropbox\2014\INSTALL\dwg\Pdfcreator.dwg OriginalSheetPath= Has Plot Port=0 Has3DDWF=0 [Target] Type=5 DWF= OUT=C:\Temp\Plot PWD= [AutoCAD Block Data] IncludeBlockInfo=0 BlockTmplFilePath= [SheetSet Properties] IsSheetSet=FALSE IsHomogeneous=FALSE SheetSet Name= NoOfCopies=0 PlotStampOn=FALSE ViewFile=FALSE JobID=0 SelectionSetName= AcadProfile= CategoryName= LogFilePath= IncludeLayer=FALSE LineMerge=FALSE CurrentPrecision= PromptForDwfName=FALSE PwdProtectPublishedDWF=FALSE PromptForPwd=FALSE RepublishingMarkups=FALSE PublishSheetSetMetadata=FALSE PublishSheetMetadata=FALSE 3DDWFOptions=0 0
Dieser string (Suchpfad) macht das Problem DWG=C:\Temp\G\U+FFFDteborg\Landvetter backa etapp1\M31.1.dwg Mein Versuch schon bei der übergabe des Suchpfades an das Dsd objekt die angepasste Text Formatierung zu übergeben. Also nicht UTF8 sondern ich brauche ANSI formatierung Soweit liefen meine Tests erfolglos, vielleicht hat jemand von euch eine Lösung
Code:
// Convert UTF8 to ANSI //1250 //1252 //28591 //28592 //28593 System.Text.Encoding utf8 = System.Text.Encoding.UTF8; //source System.Text.Encoding win = System.Text.Encoding.GetEncoding(28593); //destination string strDecode = utf8.GetString(System.Text.Encoding.Convert(utf8, win, utf8.GetBytes(y.FileName)));
------------------ Gruss Dirk Blog | Adolf Spende | Infra-Feed | ÅF AB
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 03. Nov. 2016 20:12 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009
|
erstellt am: 03. Nov. 2016 21:20 <-- editieren / zitieren --> Unities abgeben:
Danke Holger für Soforthilfe. Es ist kein leichtes Unterfangen, die richtige Textformatierung einer dsd-Datei herauszubekommen. Wie geht man vor, man erhält einen txt-file, deren Formatierung unbekannt ist ? Jedenfalls ist meine Annahme falsch, dass es sich bei der Formatierung um UTF8 handelt. So sieht die erzeugte DSD in unbearbeiteten Zustand aus. Auszug:
Code:
[DWF6Version] Ver=1 [DWF6MinorVersion] MinorVer=1 [DWF6Sheet:M31.1_001] DWG=C:\Temp\G�teborg\Landvetter backa etapp1\M31.1.dwg Layout=001 Setup=Setup_PdfCreator|H:\Dropbox\2014\INSTALL\dwg\Pdfcreator.dwg OriginalSheetPath= Has Plot Port=0 Has3DDWF=0 [DWF6Sheet:M31.1_002] DWG=C:\Temp\G�teborg\Landvetter backa etapp1\M31.1.dwg Layout=002 Setup=Setup_PdfCreator|H:\Dropbox\2014\INSTALL\dwg\Pdfcreator.dwg OriginalSheetPath= Has Plot Port=0 Has3DDWF=0 [DWF6Sheet:M31.1_003] DWG=C:\Temp\G�teborg\Landvetter backa etapp1\M31.1.dwg Layout=003 Setup=Setup_PdfCreator|H:\Dropbox\2014\INSTALL\dwg\Pdfcreator.dwg OriginalSheetPath= Has Plot Port=0 Has3DDWF=0
G�teborg = Göteborg ?! Wird jemand schlauer daraus ? ------------------ Gruss Dirk
[Diese Nachricht wurde von cadplayer am 03. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 03. Nov. 2016 21:30 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009
|
erstellt am: 03. Nov. 2016 22:30 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Nov. 2016 23:48 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Wenn du Google nicht mit Autocad oder gar das belästigst, dann finden sich auch Lösungen, spätestes ein eigener Stringconverter würde funktionieren. Das Problem hat nichts mit Acad zutun, somit auch nicht so speziell wie andere Probleme(bei denen DWG wissen erforderlich ist). Als Suchbegriff sollte dotnet und der besagte Stringteil ausreichen, ein Wort wie CONVERT schränkt die Treffer zusätzlich ein. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Nov. 2016 23:53 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
OT Ich hatte imho schon mal gefragt: Wozu erstellt man dsd-Files wenn man sowieso schon am Programmieren ist? Um Arbeit für ein ganzes Plotprogramm zu sparen oder damit der User die DSD nutzen kann, praktisch als Halbautomatisierungshilfe zum Erfolg(Plot), oder wozu? ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009
|
erstellt am: 04. Nov. 2016 06:13 <-- editieren / zitieren --> Unities abgeben:
Es hat sehr wohl etwas mit Autocad zu tun, da das DsdData objekt im Autocad API nämlich strings mit Umlauten nicht korrekt erzeugt. Sorry aber da gibst du Käse von dir... mit deinen immerwieder krankhaften Kommentaren mit google+f1. Einen Stringkonverter zu bauen ist sicherlich kein Problem, warum der Aufwand, wenn das API objekte dafür anbietet? Lies doch bitte nochmal, was gefragt war und dann schreibe etwas konstruktives. Das hatte ich dir früher schon mehrmals geschrieben. DotNet wird nicht dein Gebiet sein oder hast du Erfahrungen auf dem Gebiet? ------------------ Gruss Dirk Blog | Adolf Spende | Infra-Feed | ÅF AB
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 04. Nov. 2016 08:49 <-- editieren / zitieren --> Unities abgeben:
|