Closed socheres closed 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.
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.)
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.
"PicaSWB_batch.js" und "PicaSWBixzs.js" entfernt nun automatisch im Abstract alle diakritischen Zeichen automatisch. Für die Recherche sind diakritische Zeichen eh irrelevant.
Ja, die Sonderzeichenleiste hat das Zeichen:
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
Bis alle Zeichensätze in der Mappingtabelle integriert sind, wird das Feld "Abstract" ohne diakritischen Zeichen in WinIBW gespeichert.
Beim Einzel-Upload mit "PicaSWBixzs.js" kommen alle Zeichensätze mit Diakritika sowie nicht-lateinischen Zeichen korrekt rüber.
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;
}
@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. @kdr154 bitte PPN 1692343572 in der Hauptdatebank löschen. PPN 1698067496 ist nun korrekt.
@kdr154 @theo-ko bitte mit fingierten Beispielen in der Schulungsdatenbank testen.
PPN 1692343572 gelöscht
@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?
Im Gegensatz zum selben Artikel behandelt in #946
@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.
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?
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.
@socheres Okay, vielen Dank für die Erklärung!
👏 vielen Dank an alle, die zur Problemlösung beitragen haben. Ich schließe den Issue.
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