From 7ed834bc0825db030024444398638978f0f60e64 Mon Sep 17 00:00:00 2001 From: miker Date: Fri, 1 Dec 2006 18:16:58 +0000 Subject: [PATCH] fixing incoming Unicode characters at record save time git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@6638 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/xul/staff_client/server/cat/marcedit.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.js b/Open-ILS/xul/staff_client/server/cat/marcedit.js index a48b566288..518b93e7b7 100644 --- a/Open-ILS/xul/staff_client/server/cat/marcedit.js +++ b/Open-ILS/xul/staff_client/server/cat/marcedit.js @@ -63,6 +63,13 @@ function createControlField (tag,data) { return cf; } +function xml_escape_unicode ( str ) { + return str.replace( + /([\u0080-\ufffe])/g, + function (r,s) { return "&#x" + s.charCodeAt(0).toString(16) + ";"; } + ); +} + function my_init() { try { // Fake xulG for standalone... @@ -85,7 +92,12 @@ function my_init() { // End faking part... document.getElementById('save-button').setAttribute('label', window.xulG.save.label); - document.getElementById('save-button').setAttribute('oncommand', 'mangle_005(); window.xulG.save.func(xml_record.toXMLString()); loadRecord(xml_record);'); + document.getElementById('save-button').setAttribute('oncommand', + 'mangle_005(); ' + + 'var xml_string = xml_escape_unicode( xml_record.toXMLString() ); ' + + 'window.xulG.save.func( xml_string ); ' + + 'loadRecord(xml_record);' + ); if (window.xulG.record.url) { var req = new XMLHttpRequest(); -- 2.11.0