Spring Integration SFTP问题:替换了重音字符

时间:2014-07-30 20:02:30

标签: java encoding ftp sftp spring-integration

我正在使用Spring Integration从FTP服务器检索文件(使用SFTP)。 我的问题是FTP服务器上的文件名称包含重音字符('é','à'等)。找到的文件没有问题,但是一旦传输完成,重音符将被其他字符替换,例如“?”。 我想知道......我在Spring Integration中的某个地方是否有配置?

顺便说一下,FTP服务器和应用服务器都在Linux Ubuntu下。

这是我的Spring Integration配置:

    <beans:bean id="sftpSessionFactory"
        class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
        <beans:property name="host" value="${sftp.host}" />
        <beans:property name="port" value="${sftp.port}" />
        <beans:property name="user" value="${sftp.user}" />
        <beans:property name="password" value="${sftp.password}" />
    </beans:bean>

    <sftp:inbound-channel-adapter id="sftpInboundAdapter"
        channel="sftpReceiveChannel" session-factory="sftpSessionFactory"
        local-directory="file:${files.path}/input"
        remote-directory="${sftp.remote.dir}" auto-create-local-directory="true"
        delete-remote-files="true" filename-regex=".*\.xlsx$">
        <poller fixed-rate="10000" max-messages-per-poll="1" />
    </sftp:inbound-channel-adapter>

1 个答案:

答案 0 :(得分:0)

嗯 - 我刚刚运行了一个测试(mac os x客户端,Ubuntu 12.04服务器)。

我给服务器写了一个文件é.txt; sshd调试日志显示

close "/home/foo/si.sftp.sample/\303\251.txt" bytes read 3 written 0

我看到了

$ ls ~/si.sftp.sample/ 
é.txt

然后我获取了文件(没有特殊配置),它就到了;带有口音。