ubtue / DatenProbleme

0 stars 0 forks source link

Zeichensatz in Zotkat + winibw #943

Closed socheres closed 4 years ago

socheres commented 4 years ago

Wie wäre es Zeile 218 durch "var line = code + " " + ConvertUTF8ToANSI(value); " zu ersetzen? Natürlich muss man dann eine ConvertUTF8ToANSI auch in der gleichen Datei implementieren.

Originally posted by @ruschein in https://github.com/ubtue/DatenProbleme/issues/904#issuecomment-625265414

kdr154 commented 4 years ago

Aber ich möchte doch daran erinnern, dass man zunächst wie @thefass schrieb, klären sollte, ob die WinIBW wirklich ANSI braucht. Sicher bin ich mir da nicht.

ruschein commented 4 years ago

Ist anscheinend irrelevant da nur ASCII übermittelt wird und alle anderen Zeichen als Unicode escapes der Form \uABCD. (ASCII ist eine Untermenge sowohl von ANSI als auch von UTF-8.)

socheres commented 4 years ago

Beim Batch-Upload in WinIBW werden Buchstaben mit diakritischen Zeichen bzw. Buchstaben in anderer Sprache (z.B Hebräisch) in ANSI übermittelt. Leider sind in ANSI nicht alle Zeichen enthalten. So wird z.B. A mit Tilde "Ã" richtig übertragen, aber nicht A mit Breve Ă, die in ANSI-Tabelle fehlt. @IxTheoKm Kann man A mit Breve in WinIBW zumindest manuell abtippen? WinIBW orientiert sich nach dem bibliotherkarischen Regelwerk (RAK bzw. RDA) und bei hebräischen Wörtern wird emphohlen sie zu transkribieren. Eine saubere technische Lösung gibt es in diesem Fall nicht. Was man machen kann, ist alle diakritischen Zeichen in Abstract zu entfernen. Diese Funktion lässt sich leicht im Code umsetzen.

socheres commented 4 years ago

"PicaSWB_batch.js" und "PicaSWBixzs.js" entfernt nun automatisch im Abstract alle diakritischen Zeichen automatisch. Für die Recherche sind diakritische Zeichen eh irrelevant.

IxTheoKm commented 4 years ago

Ja, die Sonderzeichenleiste hat das Zeichen: Sonderzeichen

socheres commented 4 years ago

Beim Batch-Upload in WinIBW werden Buchstaben mit diakritischen Zeichen bzw. Buchstaben in anderer Sprache (z.B Hebräisch) in ANSI übermittelt. Leider sind in ANSI nicht alle Zeichen enthalten. So wird z.B. A mit Tilde "Ã" richtig übertragen, aber nicht A mit Breve Ă, die in ANSI-Tabelle fehlt. @IxTheoKm Kann man A mit Breve in WinIBW zumindest manuell abtippen? WinIBW orientiert sich nach dem bibliotherkarischen Regelwerk (RAK bzw. RDA) und bei hebräischen Wörtern wird emphohlen sie zu transkribieren. Eine saubere technische Lösung gibt es in diesem Fall nicht. Was man machen kann, ist alle diakritischen Zeichen in Abstract zu entfernen. Diese Funktion lässt sich leicht im Code umsetzen.

Zeichen, die in ANSI-Tabelle fehlen, werden in WinIBW umgesetzt. Hier das Bsp.:

Quelldatei im Batch-Skript:

application.activeWindow.command("e", false);
application.activeWindow.title.insertText("\n0500 Osn\n0501 Text$btxt\n0502 Computermedien$bc\n0503 Online-Ressource$bcr\n1100 2020$n[2020]\n1500 eng\n1505 $erda\n2051 10.3366/swc.2020.0280\n3000 Lee, Sun Yong$BVerfasserIn$4aut\n4000 \u0102 \u0103 \u00C2 \u00E2 \u00CE \u00EE \u0218 \u0219 \u015E \u015F \u021A \u021B  \u0102 \u0218 \u00C3 \u0103  \u0054\u0306'Work in Guatemala from a Woman Missionary's Perspecti\u021Ave$dDora B\u021Burgess (1887-1962)\u0218\n4070 $v26$j2020$a1$p21-41\n4207 SAa A' Work in Guatemala from a Woman Missionary's PerspectiTve: Dora Bturgess (1887-1962)S\n4241 Enthalten in!341908460!\n4950 https://www.euppublishing.com/doi/abs/10.3366/swc.2020.0280$xH\n5056 1\n5520 |s|Christianity\n5520 |s|Dora Burgess\n5520 |s|Guatemala\n5520 |s|Protestant Indian missions\n5520 |s|Quiché (K'iche)\n5520 |s|US woman missionary\n5520 |s|bible translation\n5520 |s|conversion of missionaries\nE* l01\n7100$Jn\n8012 ixzs$aixzo");
application.activeWindow.pressButton("Enter");

Zieldatei:

0100 1641225254
0500 Osn
0501 Text$btxt
0502 Computermedien$bc
0503 Online-Ressource$bcr
1100 2020$n[2020]
1500 eng
1505 $erda
2051 10.3366/swc.2020.0280
2240 KXP: 1641225254
3000 Lee, Sun Yong$BVerfasserIn$4aut
4000 Ă ă Â â Î î Ș ș Ş ş Ț ț Ă Ș Ã ă T̆'Work in Guatemala from a Woman Missionary's PerspectiȚve$dDora Bțurgess (1887-1962)Ș
4070 $v26$j2020$a1$p21-41
4207 SAa A' Work in Guatemala from a Woman Missionary's PerspectiTve: Dora Bturgess (1887-1962)S
4241 Enthalten in!341908460!Studies in world christianity. - Edinburgh : Edinburgh Univ. Press, 1995- ; ZDB-ID: 2070613-3$x202000000260001979
4950 https://www.euppublishing.com/doi/abs/10.3366/swc.2020.0280$xH
5056 1
5520 |s|Christianity
5520 |s|Dora Burgess
5520 |s|Guatemala
5520 |s|Protestant Indian missions
5520 |s|Quiché (K'iche)
5520 |s|US woman missionary
5520 |s|bible translation
5520 |s|conversion of missionaries
E001 08-05-20 : l01
7100 $BTü 135$Jn
7901 TUIXTH:08-05-20
7902 08-05-20
7903 08-05-20 12:46:41.000
8012 ixzs$aixzo
7800 3345766590
socheres commented 4 years ago

Bis alle Zeichensätze in der Mappingtabelle integriert sind, wird das Feld "Abstract" ohne diakritischen Zeichen in WinIBW gespeichert.

socheres commented 4 years ago

Beim Einzel-Upload mit "PicaSWBixzs.js" kommen alle Zeichensätze mit Diakritika sowie nicht-lateinischen Zeichen korrekt rüber.

ruschein commented 4 years ago

Hier ist die Funktion, die Du benötigst:

function EscapeNonASCIICharacters(unescaped_string) {
    let escaped_string = "";
    const length = unescaped_string.length;
    for (var i = 0; i < length; ++i) {
        const char_code = unescaped_string.charCodeAt(i);
        if (char_code < 128) // ASCII                                                                                                                            
            escaped_string += unescaped_string[i];
        else
            escaped_string += "\\u" + ("00" + char_code.toString(16)).substr(-4);
    }

    return escaped_string;
}
socheres commented 4 years ago

@ruschein 👍 🥰 Habe die Funktion getestet und hier eingebunden. Hier das Beispiel in der Schulungsdatenbank PPN 1641226129 Das Problem mit der Schreibrichtung des Hebräischen und Lateinischen #820 ist dadurch auch behoben. grafik @kdr154 bitte PPN 1692343572 in der Hauptdatebank löschen. PPN 1698067496 ist nun korrekt.

socheres commented 4 years ago

@kdr154 @theo-ko bitte mit fingierten Beispielen in der Schulungsdatenbank testen.

kdr154 commented 4 years ago

PPN 1692343572 gelöscht

IxKo commented 4 years ago

@socheres Ich habe es mit folgendem Artikel: https://www.cambridge.org/core/journals/ajs-review/article/view/8DCB36155021FCFEAE6D5D189706D438 aus einem anderen Issue getestet und bei mir entstehen in der WinIBW nur Fragezeichen. Oder ist dies kein geeigneter Artikel für einen Test?

kdr154 commented 4 years ago

Im Gegensatz zum selben Artikel behandelt in #946

socheres commented 4 years ago

@socheres Ich habe es mit folgendem Artikel: https://www.cambridge.org/core/journals/ajs-review/article/view/8DCB36155021FCFEAE6D5D189706D438 aus einem anderen Issue getestet und bei mir entstehen in der WinIBW nur Fragezeichen. Oder ist dies kein geeigneter Artikel für einen Test?

Ihr Skript war noch nicht aktualisiert worden. Jetzt müsste es gehen. Probieren Sie nochmal.

IxKo commented 4 years ago

Nun werden die hebräischen Zeichen übernommen.

OT: Muss ich das Script mit dem Änderungsdatum von heute aus meinem Ordner X:\Fachinformationsdienste\Zoterobearbeitung\zotero_ko in C:\Program Files (x86)\WinIBW_K10plus\scripts ersetzen? Das Skript dort hat auch ein Änderungsdatum von heute. Bedeutet dies, dass die IT Zugriff auf mein C-Laufwerk hat und es bereits aktualisiert hat?

socheres commented 4 years ago

Nein. Sie müssen nichts tun. Das Skript "PicaScript_batch_Aktualisierung.bat" kopiert die Master-Pica-Datei aus dem Verzeicnis "zotero_master" in alle anderen lokalen Verzeichnisse "zotero_ko" usw. Die Datei "C:\Program Files (x86)\WinIBW_K10plus\scripts " ist ein WinIB-Skript zum Batch-Upload und hat nichts direkt mit dem Zotero-Skript zu tun.

IxKo commented 4 years ago

@socheres Okay, vielen Dank für die Erklärung!

socheres commented 4 years ago

👏 vielen Dank an alle, die zur Problemlösung beitragen haben. Ich schließe den Issue.