+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

List & Label 16 Umlaute-> Problem


(Guest) #1

Hallo liebe List&Label-Forenmitglieder,

mein Name ist Daniel Fernández von der Firma Karg EDV. Ich habe ein Problem bezüglich Umlaute in List&Label16. Wenn ich Belege mit dem Designer öffne und diese enthalten Worte oder Datenbankfelder, die Umlaute beinhalten, kriege ich beim nächsten Öffnen statt Worte(Währung zB), komische Zeichenketten (Währung -> Währung)
Meine Vermutung ist, dass List & Label Umlaute und deutsche Schriftzeichen wie ß nicht ausgeben kann, wenn er die falsche Kodierung benutzt.
Meine Frage also:
Gibt es eine Option dafür um deutsche Schriftzeichen korrekt umzusetzen?Ich habe schon im Forum gesucht und das Handbuch von LL gelesen, jedoch habe ich kein konkretes Beispiel gefunden, um genau dieses Problem zu beseitigen. Wenn es eine eine Lösung gibt, dann wäre es schön, wenn ihr die Lösung anhand eines Beispiels veranschaulichen könntet.

Ich bedanke mich im vorraus!

Grüße

Daniel

PS:

Hier ist ein Ausschnitt aus dem Code, den ich benutze um den Designer zu öffnen.

[quote]Dim LL As New combit.ListLabel16.ListLabel
LL.LicensingInfo = Key
LL.ConvertCRLF = True
LL.IncludeFontDescent = False LL.Core.LlSetOption(combit.ListLabel16.LlOption.LCID,Globalization.CultureInfo.GetCultureInfo “de-DE”).LCID)

        LL_Tabellenname_IO(Report, tmp_tbl.TableName)
        LL.AutoShowSelectFile = False
            LL.AutoFileAlsoNew = False
            LL.AutoProjectFile = Report
            LL.DataSource = tmp_tbl
            LL.DataMember = tmp_tbl.TableName
            LL.AutoMasterMode = combit.ListLabel16.LlAutoMasterMode.AsFields
            LL.Variables.AddFromDataRow(tmp_tbl.Rows(0))
            LL.AddVarsToFields = True
            LL.Design()[/quote]

(Guest) #2

Dein Beispiel “Währung -> Währung” zeigt, daß Deine Daten UTF8-(8-bit UNICODE) codiert sind. So kannst Du sie nicht direkt übergeben, d.h. Du mußt sie irgendwie erst korrekt in UTF16 (16-bit UNICODE) bringen. Dein Beispiel klingt, als ob irgendwer die Daten nicht als UTF8-, sondern ANSI-codiert interpretiert und somit 1:1 in UTF16 übernimmt, was bei Codes >= 128 einfach den von Dir zitierten Quatsch ergibt.

Kenne mich mit der .NET-Datenversorgung nicht aus, vielleicht mußt Du’s dem Treiber sagen, weil der vermutlich die Umsetzung der Daten der Datenbank (höchstwahrscheinlich UTF8) in 16-Bit-Unicode macht (was die W-API von LL haben möchte, die m.W. von der .NET-Komponente benutzt wird). Vermutlich sind die Daten in “tmp_tbl.Rows(0)” auch schon inkorrekt, d.h. von UTF8 direkt in TUF16 ohne Ent-Codierung übersetzt.

Paulchen