Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl cgi中,如何将包括连字符在内的半宽日语字符转换为全宽日语字符?_Perl_Cgi - Fatal编程技术网

在perl cgi中,如何将包括连字符在内的半宽日语字符转换为全宽日语字符?

在perl cgi中,如何将包括连字符在内的半宽日语字符转换为全宽日语字符?,perl,cgi,Perl,Cgi,我有学生信息的CSV输出列表 my $SrchResult = $TextBookCommonAdmin->GetOrderCSV($SrchData); my $CsvData = '"受付番号","学籍番号","氏名","フリガナ","〒","都道府県・市区","町村・番地","アパート・マンション名"' . &quo

我有学生信息的CSV输出列表

    my $SrchResult = $TextBookCommonAdmin->GetOrderCSV($SrchData);

my $CsvData = '"受付番号","学籍番号","氏名","フリガナ","〒","都道府県・市区","町村・番地","アパート・マンション名"' . "\r\n";

    foreach my $DataId (sort (keys %{$SrchResult})){
         
            
        foreach my $key (keys %{$DataHash}){
            $DataHash->{$key} = decode('utf8',$DataHash->{$key});
        }
        my $LineData    = sprintf('"%s","%s","%s","%s","%s","%s","%s","%s"',
                            $DataHash->{'recptid'},
                            $DataHash->{'student_id'},
                            $DataHash->{'student_name'},
                            $DataHash->{'student_kana'},
                            $DataHash->{'student_zip'},
                            $DataHash->{'student_address'},
                            $DataHash->{'student_address2'},
                            $DataHash->{'student_address3'},
                    );

        $CsvData    .= sprintf("%s\r\n", $LineData);
    }

my ($second, $minute, $hour, $day, $month, $year, @rest) = localtime(); 
$year       += 1900;
$month      += 1;   
my $TimeStr = sprintf('%4d-%02d-%02d', $year, $month, $day);
my $TimedateFormat  = sprintf('%4d%02d%02d%02d%02d%02d', $year, $month, $day, $hour, $minute, $second);

my $name= $TimedateFormat.".csv";

print "Content-Type: application/octet-stream\n";
print "Content-Disposition: attachment; filename=$name\n\n";
print encode('cp932', $CsvData);
输入数据: 86 | 20A1123032C |内村 颯太 | ウチムラ ソウタ | 2130013 | 神奈川県 | 2-9-4スペランサ4-2-9

输出csv: 86 | 20A1123032C |内村 颯太 | ウチムラ ソウタ | 2130013 | 神奈川県 | 2002/9/4スペランサ4?2?9

以上示例: 打开Perl CSV文件时,连字符数字转换为日期,连字符文本转换为?在“学生地址2”和“学生地址3”列中

也许有一个日本的半幅和全幅问题


有什么解决办法吗?

请显示完整的代码,请参阅。同时显示输入数据和生成的输出数据的示例您能否提供问题的最小、可运行的演示,并请包括您获得的输出和您期望的输出。现在包括输入和输出数据…提前感谢..这是您获得的输出还是您想要的输出?包括缺少的任何一个。并将您的代码精简为。请显示完整的代码,请参阅。同时显示输入数据和生成的输出数据的示例您能否提供问题的最小、可运行的演示,并请包括您获得的输出和您期望的输出。现在包括输入和输出数据…提前感谢..这是您获得的输出还是您想要的输出?包括缺少的任何一个。并将代码删减到一个新的级别。