首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl中的编码问题

Perl中的编码问题
EN

Stack Overflow用户
提问于 2014-04-22 08:34:16
回答 1查看 92关注 0票数 1

我的工具IO信息:

我正在以文件名.txt的形式从VB.net创建输出文本文件( paraText.txt )

0 paraText.txt将是Perl的输入文件。

paraText.txt内容:

作者声明: Gerade innerhalb der kulturhistorischen Behandlung die Kultivierung der Zeit durch den Menschen und Zeitbewusstsein einen zentralen Platz ein。Unter dem Stichwort der Zeitkultur strebt die kulturhistorische Forschung nach der人类学家Erkenntnissuche,wie Bewusstsein der Mensch von seiner Zeit hat,wie er mit seiner Zeit umgeht,und ob bzw.Wie er sie gestaltet,sie mit Sinn und dt strukturiert。Dabei将有sinnf llig,dass sich jede Kultur nicht zuletzt durch ihren Umgang mit der Zeit und deren Gliederung definiert: Man unterscheidet zurückliegende und bevorstehende,teils zuürlich,teils zuüsich,teils durch gesellschaftliche bzw.。公司名称: Einen Gro teil dieser Festlichen bildet - der - Komplex des Festlichen。

问题:

当从VB.net创建输出txt文件时,我得到正确的文本如下:

0在Perl调试阶段读取文本时,我得到了类似于未格式化的文本:

您可以看到上面的图片,第一行没有经过相应的编码,

注意:我对输入和输出都使用相同的.txt,但是在perl 5.16.3中调试时,我无法正确地读取文本,使用KomodoEdit8.5,notepad++查看文本

我试过:

我使用vb.net编码从UTF8编写文本文件,

System.Text.Encoding.UTF8

0我在Perl中还使用了UTF8编码,方法如下:

使用编码;使用utf8;使用开放IO =>‘:utf8 8’;使用编码:固定拉丁qw(fix_latin);;

我的代码示例:

代码语言:javascript
复制
#!/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

请大家解决这件事

提前感谢

维马尔

EN

回答 1

Stack Overflow用户

发布于 2016-06-07 22:30:16

如果从VB端正确地创建文件,则不需要修复Perl端的任何内容。只需将其理解为UTF-8:

代码语言:javascript
复制
open INDPARA, '<:utf8', $indPara or die ...;

在那之后,你读到的任何东西都应该准备好了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23214445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档