Replace 拆卸或更换'࿽';信息人物

Replace 拆卸或更换'࿽';信息人物,replace,character,informatica,Replace,Character,Informatica,我们有一个要求,需要更换或移除'�' 源代码中存在的字符(无法识别、未定义的字符)。在运行我的工作流时,它会成功运行,但当我检查目标中的记录时,这些记录不会提交。我在Informatica中得到以下错误 执行记录37:6706的查询时出错:字符串包含不可翻译的字符 我尝试了诸如replace\u chr、reg\u replace、replace\u str等功能,但似乎都不起作用。请告知如何摆脱这种情况。非常感谢您的回复。您需要在模式定义中使用charset=>utf8 unidode ci

我们有一个要求,需要更换或移除'�' 源代码中存在的字符(无法识别、未定义的字符)。在运行我的工作流时,它会成功运行,但当我检查目标中的记录时,这些记录不会提交。我在Informatica中得到以下错误

执行记录37:6706的查询时出错:字符串包含不可翻译的字符


我尝试了诸如replace\u chr、reg\u replace、replace\u str等功能,但似乎都不起作用。请告知如何摆脱这种情况。非常感谢您的回复。

您需要在模式定义中使用charset=>utf8 unidode ci

但现在你可以做到:

UPDATE tablename
SET columnToCheck = REPLACE(CONVERT(columnToCheck USING ascii), '?', '')
WHERE ...


可以替换表达式转换中的特殊字符

REPLACESTR(1,Column_Name,'?',NULL)
REPLACESTR-功能
1-位置
列名-具有特殊字符的列名
-特殊字符

NULL-替换字符

您需要使用在连接上定义的适当字符集获取行。您正在使用的连接是ODBC连接还是本机连接?DB是什么?

特殊字符是一个挑战,检查了informatica网络后,我可以看到有一个混乱的问题,即首先用所有非特殊字符将变量设置为字符串,然后在replace\u str中使用生成的变量,以便最终值仅包含允许的字符(nico的绝妙解决方案,只要你能积极识别每个应该被允许的角色)


作为另一种选择,我也会尝试在映射中的某个地方使用xml转换,因为informatica可以方便地将特殊字符转换为编码(十进制或十六进制,我不记得了)值……只要您能够接受目标文本中出现的这些编码值,您就可以了(并在字符串中添加一些额外的空间,以容纳额外字符中的任何数据膨胀

您的源是什么?DB还是平面文件?最近我发现我们的源数据包含中文或韩文字符以及一些回车符和换行符。如何去除它们?提前感谢您的源是DB。我已经设置了代码页改为UTF-8编码,但仍然不起作用。我以前用过Replace\u str和Reg\u Replace来摆脱它� 字符,但这对其他字符(如中文或CRLF字符)没有帮助。有什么想法吗?提前谢谢
REPLACESTR(1,Column_Name,'?',NULL)