Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Problem mit Encoding von UTF8 nach ANSI

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Problem mit Encoding von UTF8 nach ANSI (695 mal gelesen)
cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1817
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2017 ENGLISH
Visual Studio 2015
OpenDCL.Runtime.8

erstellt am: 03. Nov. 2016 20:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4136
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 03. Nov. 2016 20:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Google-Suche nach c# convert Unicode to string

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1817
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2017 ENGLISH
Visual Studio 2015
OpenDCL.Runtime.8

erstellt am: 03. Nov. 2016 21:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4136
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 03. Nov. 2016 21:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

nimm dir Notepad++, da kannst du hin & her konvertieren und dann schauen, wann das richtige rauskommt.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1817
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2017 ENGLISH
Visual Studio 2015
OpenDCL.Runtime.8

erstellt am: 03. Nov. 2016 22:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hatte ich bereits gemacht. und war mir sicher die konvertierung muss von utf8 nach ansi
erfolgen. kannst du mal schon ob der string  o.g. das bei dir auch ergibt?!

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed | ÅF AB

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 03. Nov. 2016 23:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

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.
良い精神



Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 03. Nov. 2016 23:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1817
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2017 ENGLISH
Visual Studio 2015
OpenDCL.Runtime.8

erstellt am: 04. Nov. 2016 06:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1817
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2017 ENGLISH
Visual Studio 2015
OpenDCL.Runtime.8

erstellt am: 04. Nov. 2016 08:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ein tool zu encoding gibt es hier

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed | ÅF AB

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz