После продолжительной поддержки Snowflake мы наконец-то решили создать собственную функцию javascript для очистки не-ascii символов, включая этот символ замены юникода.
Что усложняло то, что Символ замены Юникода, который добавляет Снежинка, сам по себе не является допустимым символом, который затрудняет его удаление.
Функция, представленная ниже, является единственной найденной нами, которая надежно работает. Это также супер быстро:
CREATE OR REPLACE FUNCTION ADMIN.DESIGN.REPLACE_NON_ASCII("input" varchar, "replacement" varchar )
RETURNS varchar
LANGUAGE JavaScript
AS
$$
//This function is used to cleanse non ascii characters out of data included corrupt non-unicode characters
var output = "";
if (input == undefined){
return input
}
else {
for (var i=0; i<input.length; i++) {
if (input.charCodeAt(i) >= 32 && input.charCodeAt(i) <= 127) {
output += input.charAt(i);
}
else {
output += replacement
}
}
return output
}
$$