Vb.net Perl中的编码问题
我的工具IO信息: ○ 我正在从VB.net创建输出文本文件.txt,文件名为paraText.txt ○ paraText.txt将是Perl的输入文件 paraText.txt内容: 杰拉德·内尔哈尔布在文化史上表现出色 男人和女人的生活方式 在天顶广场。在时代文化街上 人类历史中的文化历史 Erkenntnisseche,welches Bewusstsein der Mensch von seiner Zeit帽子, 这是一个很好的例子。你是盖斯泰尔特,是吗 麻省理工学院。达贝·维尔德·辛菲利格,达斯·西奇 我的文化背景与时代不同 Gliederung definiert:一个不受约束的人 bevorstehende,teils willkürlich,teils durch gesellschaftliche bzw。 自然资源 埃雷格尼塞。这是一个很好的例子- Festlichen公园 问题: ○ 从VB.net创建输出txt文件时,我得到如下正确文本: ○ 在Perl调试阶段读取该文本时,我得到的文本类似于未格式化: 您可以看到上图,第一行编码不正确 注意:我对in和out使用相同的.txt,但在perl 5.16.3中使用Komodo edit 8.5,notepad++查看文本时,无法正确读取文本 我试过: ○ 我使用UTF8编码从vb.net编写文本文件 System.Text.Encoding.UTF8 ○ 我还使用以下方式在Perl中使用UTF8编码: 我的代码示例:Vb.net Perl中的编码问题,vb.net,perl,encoding,utf-8,decode,Vb.net,Perl,Encoding,Utf 8,Decode,我的工具IO信息: ○ 我正在从VB.net创建输出文本文件.txt,文件名为paraText.txt ○ paraText.txt将是Perl的输入文件 paraText.txt内容: 杰拉德·内尔哈尔布在文化史上表现出色 男人和女人的生活方式 在天顶广场。在时代文化街上 人类历史中的文化历史 Erkenntnisseche,welches Bewusstsein der Mensch von seiner Zeit帽子, 这是一个很好的例子。你是盖斯泰尔特,是吗 麻省理工学院。达贝·维尔德·
#!/usr/bin/perl -w
use strict;
use Cwd;
use HTML::Entities;
use HTML::Entities::Numbered;
use HTML::Strip;
use Encode;
use utf8;
use open IO => ':utf8';
use Encoding::FixLatin qw(fix_latin);;
binmode STDOUT, ":utf8";
binmode STDERR, ":utf8";
binmode STDIN, ":utf8";
my $indPara = getcwd()."/paraText.txt";
open(INDPARA, $indPara) || die "Indesign paraText not found on location!";
my $indesignPara = <INDPARA>;
$indesignPara = fix_latin($indesignPara);
print decode_entities($indesignPara);
close INDPARA;
# I am getting value for $indesignPara as unformatted text like shown in above incorrect image
请任何人解决这个问题
提前谢谢
Vimal如果从VB端正确创建文件,则不需要在Perl端修复任何内容。仅将其理解为UTF-8:
open INDPARA, '<:utf8', $indPara or die ...;
在这之后,您阅读的任何内容都应该准备就绪。似乎您用来显示文件的内容在第一行使用了不同的字体。纯文本文件不指定字体,因此与Perl无关。尝试使用其他工具查看文件。谢谢Choroba,是的,你说得对,我为任何文本的第一行显示不同的字体,我尝试使用Sublime查看,在sublime中,它显示正确,因此我尝试复制并在一个文件中查找两个内容,但我只能找到一个项目,这是真实的文本文件内容,但我无法获得格式化的文本。我将重复您的问题-您输入文件的编码是什么?如何从输入文件中读取数据?如何解码从输入文件读取的数据。您希望在输出文件中使用什么编码?如何将数据写入输出文件?您如何对写入输出文件的数据进行编码?请给我们一个非常简短但完整的示例程序来演示这个问题。你可能还遗漏了其他一些东西。另外,在学习Perl的最后,我有一本Perl Unicode入门。
open INDPARA, '<:utf8', $indPara or die ...;