diff --git a/editor/extensions/allowedMimeTypes.php b/editor/extensions/allowedMimeTypes.php index cad3050c..1e932b84 100644 --- a/editor/extensions/allowedMimeTypes.php +++ b/editor/extensions/allowedMimeTypes.php @@ -1,7 +1,7 @@ 'image/svg+xml', + 'svg' => 'image/svg+xml;charset=utf-8', 'png' => 'image/png', 'jpeg' => 'image/jpeg', 'bmp' => 'image/bmp', diff --git a/editor/extensions/ext-server_opensave.js b/editor/extensions/ext-server_opensave.js index 944aa4e8..522fdd8c 100644 --- a/editor/extensions/ext-server_opensave.js +++ b/editor/extensions/ext-server_opensave.js @@ -38,11 +38,10 @@ svgEditor.addExtension("server_opensave", { $('').hide().appendTo('body'); svgEditor.setCustomHandlers({ save: function(win, data) { - var svg = '\n' + data, // Firefox doesn't seem to know it is UTF-8 (if we skip the clientDownload code) despite the Content-Disposition header containing UTF-8, but adding the encoding works + var svg = '\n' + data, // Firefox doesn't seem to know it is UTF-8 (no matter whether we use or skip the clientDownload code) despite the Content-Disposition header containing UTF-8, but adding the encoding works filename = getFileNameFromTitle(); - // if (clientDownloadSupport(filename, '.svg', 'data:image/svg+xml,' + encodeURI(data))) { // Firefox limits size of file - if (clientDownloadSupport(filename, '.svg', 'data:image/svg+xml;base64,' + svgedit.utilities.encode64(svg))) { + if (clientDownloadSupport(filename, '.svg', 'data:image/svg+xml;charset=UTF-8;base64,' + svgedit.utilities.encode64(svg))) { return; } @@ -105,7 +104,7 @@ svgEditor.addExtension("server_opensave", { } }); - + // Do nothing if client support is found if (window.FileReader) {return;} @@ -159,7 +158,7 @@ svgEditor.addExtension("server_opensave", { // Create image form import_img_form = open_svg_form.clone().attr('action', import_img_action); - // It appears necessory to rebuild this input every time a file is + // It appears necessary to rebuild this input every time a file is // selected so the same file can be picked and the change event can fire. function rebuildInput(form) { form.empty(); diff --git a/editor/extensions/fileopen.php b/editor/extensions/fileopen.php index ff9a0cb3..f0ae937b 100644 --- a/editor/extensions/fileopen.php +++ b/editor/extensions/fileopen.php @@ -25,7 +25,7 @@ $prefix = ''; // Make Data URL prefix for import image - if($type == 'import_img') { + if ($type == 'import_img') { $info = getimagesize($file); if (!in_array($info['mime'], $allowedMimeTypesBySuffix)) { exit; @@ -37,7 +37,8 @@