Domino 9 und frühere Versionen > ND8: Entwicklung

GetDocumentByKey und €-Symbol

<< < (3/4) > >>

koehlerbv:
updall -R wäre das Entscheidende gewesen, compact -c macht ein updall -R letztlich auch mit. Die anderen Commands haben keinen Einfluss auf das Problem des Threads.

Bernhard

it898ur:
Hallo,

wir hatten vor ein paar Tagen ein ähnlich gelagertes Phänomen mit dem €-Zeichen. Bei uns war es Teil einer Kategorie in einer Ansicht und nach einer Dokumentänderung in 8.5.1 tauchte die Kategorie plötzlich 2 mal auf (ältere Dokumente waren 7.0.2 erfasst).

Bei unseren Recherchen konnten wir die genaue Fehlerursache nicht reproduzieren, aber es muss mit dem Zeichensatz zusammenhängen, da bei dem neuen Dokument das Kategoriefeld 1 Byte länger war als bei den alten, obwohl weder per Formelsprache noch per Script Differenzen zwischen den Feldwerten existierten.

Ich vermute Ihr habt jetzt das gleiche Problem - der Suchwert hat eine andere Bytelänge als die Kategorie und damit gibt es keinen Treffer.

Da die Ansichten in der Vorschau des Designers ok waren und wir auch sonst keine Möglichkeit gefunden haben den Fehler zu korrigieren (weder updall noch compact oder fixup), haben wir uns letztendlich dazu durchgerunden, das Kategoriefeld in allen Dokumenten zu löschen und neu zu setzen - dann hatten zumindest alle wieder die gleiche Bytelänge.

Zur Sicherheit würde ich aber zukünftig versuchen bei Ansichten, wo ein DBLookup oder ein GetDocumentByKey beteiligt ist, das €-Zeichen umzuwandeln.

Gruß

André

pram:
Das mit dem 1 Byte zusätzlich stärkt folgende Theorie die ich gerade aufgestellt habe:

der € hat als Ascii-Code 0x80 und als UTF-8-Code 0x20AC
Beides ist zwar das gleiche Zeichen (sieht gleich aus) aber die Byte-Repräsentationen der Strings sind nicht identisch.
Je nach Notesversion/Betriebssystem hat der € einen unterschiedlichen Wert ;)... evtl kannst du das mal mit uni(mid(s,x)) untersuchen

Gruß
Roland

it898ur:
Guten morgen,

da wir die Daten inzwischen bereinigt haben, kann ich das leider nicht merh prüfen, aber ich werde mir den Trick merken !

Gruß

André

Gravedigger:
Guten Morgen,

die Ausführung von uni(mid(s,x)) gibt bei altem und neuem Feldinhalt den Wert 8364 zurück.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln