File 文本文件被视为二进制文件

File 文本文件被视为二进制文件,file,File,我有一个输出数据库交互的脚本。在QA中,我的脚本捕获到的一个查询结果是一个巨大的问题(200000多个字符),其中包含大量UTF-8字符。(至少有很多人是通过反斜杠逃跑的。) 问题是,当文本编辑器打开出现此查询的其中一个文本文件时,编辑器坚持将其视为二进制文件。它发生在Linux(Kate)和Windows(记事本、写字板)下。我可以对文件做些什么来确保它被当作文本文件而不是二进制文件来处理吗? 编辑:潜在的差异。正确处理的文本文件是由Perl的文件I/O创建的,而将Kate和friends搞

我有一个输出数据库交互的脚本。在QA中,我的脚本捕获到的一个查询结果是一个巨大的问题(200000多个字符),其中包含大量UTF-8字符。(至少有很多人是通过反斜杠逃跑的。)

问题是,当文本编辑器打开出现此查询的其中一个文本文件时,编辑器坚持将其视为二进制文件。它发生在Linux(Kate)和Windows(记事本、写字板)下。我可以对文件做些什么来确保它被当作文本文件而不是二进制文件来处理吗?

编辑:潜在的差异。正确处理的文本文件是由Perl的文件I/O创建的,而将Kate和friends搞砸的文件是通过简单的“/my_script.pl>output.log”重定向创建的。这可能是我的问题的根源吗?

您是否尝试过像或vim这样的编辑器?两者都支持UTF-8。还允许您设置编码(菜单选项tools/encoding/unicode)。

在Windows中,我真的建议-也可用-它可以很好地处理大文件,甚至不要尝试在内置Windows记事本中打开任何大文件;)


但是我不知道它是否能帮助你解决这个问题。

文件是怎么写的,数据是从哪里来的&它看起来像什么?在Windows记事本中“将其视为二进制文件”是什么意思?在Linux环境下运行的Perl脚本。在大多数情况下,数据都是非常简单的文本,但给我带来麻烦的数据片段以“\x04\a\x041234\x04\x04\x04\x08\x03-\z\z”开头,并以这种方式继续(混合了ASCII文本)我想我只有直接的证据表明Kate把这个文件当作二进制文件——当我打开它的时候,我得到了一个警告。(记事本故障是由QA报告的。)然而,两者似乎都显示了相同的行为——显示框,而实际上它们应该显示“\x04\a\x041234\”。。。其他具有相同数据的文本文件完全没有问题;我不知道是什么让这个特定的文本文件与众不同。vim给了我一种不同的垃圾味道;'^D^G^D1234'我希望在那里看到'\x04\a\x041234'。正如上面的评论所提到的,包含完全相同数据的其他文本文件似乎不会给我尝试过的任何编辑器带来任何麻烦。我不知道这一个文本文件有什么不同。我热情地附议,但这个记事本用户是同事,不是我。不管记事本是怎么搞的,在Linux上Kate和vim也同样感到困惑。