diff --git a/examples/js/loaders/PCDLoader.js b/examples/js/loaders/PCDLoader.js index 19d22e92922780cbcb1bb2d4d7fdab28addceaa1..fe5e554acdaf5f5110266a4f920da32fa04f7141 100644 --- a/examples/js/loaders/PCDLoader.js +++ b/examples/js/loaders/PCDLoader.js @@ -169,7 +169,7 @@ THREE.PCDLoader.prototype = { } - var textData = THREE.LoaderUtils.decodeText( data ); + var textData = THREE.LoaderUtils.decodeText( new Uint8Array( data ) ); // parse header (always ascii format) diff --git a/src/loaders/LoaderUtils.js b/src/loaders/LoaderUtils.js index ba13d4ba9c82719d8a46c569cbfdcbfb4bba2d6b..3463d522f316e43a41f12a27b41963215045d72e 100644 --- a/src/loaders/LoaderUtils.js +++ b/src/loaders/LoaderUtils.js @@ -24,8 +24,17 @@ var LoaderUtils = { } - // Merges multi-byte utf-8 characters. - return decodeURIComponent( escape( s ) ); + try { + + // merges multi-byte utf-8 characters. + + return decodeURIComponent( escape( s ) ); + + } catch ( e ) { // see #16358 + + return s; + + } },