一些非ASCII字符在talend 5.6中就像一条粗垂直线

时间:2016-05-27 05:37:10

标签: talend

我有一个名为“→Ψjohn.txt”的文件,现在我想从文件名中删除这些特殊字符,并将文件名更新为“john.txt”。但是talend将这些字符识别为粗垂直线,因此它无法识别物理位置中的源文件。任何人都可以建议一个解决方案。

我在数据库和物理位置都有这个文件,当我从数据库中读取文件时,它必须删除特殊字符并在数据库中更新相同的物理位置。

在数据库中,文件看起来像这样 database

当我使用talend从数据库中读取时,它看起来像是跟随 talend 提前致谢

2 个答案:

答案 0 :(得分:0)

您不必指定确切的文件名,您可以使用tFilelist并获取特定目录中的所有文件,您也可以使用正则表达式来屏蔽某些名称,例如遍历所有*john.txt。 获得实际文件名后,使用正则表达式删除不需要的字符,例如:\W表示非单词字符,并通过系统命令或使用tFileCopy重命名该文件。

答案 1 :(得分:0)

看到图片后,这不是Talend问题,而是与Talend(Eclipse)控制台中使用的字体和Java的enconding设置有关。

这些矩形(更大的字体大小可见)显示字体不能代表你的字符 - 它没有符号。

Talend(Eclipse)设置

在Talend中,导航至Window / Preferences并选择General / Appearance / Colors and Fonts(如Eclipse help中所述)。检查您使用的Debug / Console font字体。我使用字体Consolas得到了很好的结果,该字体是从Talend版本6开始设置的。事先是Courier New

Java编码

您应该检查Java是否使用UTF-8编码来显示字符。 Console Enconding必须设置为UTF-8。有关如何执行此操作的说明,请参阅this answer

<强>替代

或者,您可以将所有日志数据存储到一个文件中,然后在例如Notepad ++查看输出是否正确生成并且只显示错误。