【Kettle】中文乱码三种处理方式--分5.4版本和7.1版本处理



这是由于mail中的一个class类的处理:编译源程序后,重新得到的JAR文件。做替换就好了。



1) 发件人名称乱码
826行: 将
msg.setFrom( new InternetAddress( sender_address ) );
改成:
// Set Mail sender (From)
String sender_add = sender_address;
….. ……
msg.setFrom( new InternetAddress(sender_add, sender_address,"UTF-8" ) );

 

 

我的修改如下:

 

// Set Mail sender (From)

      String sender_address = environmentSubstitute( replyAddress );

      String sender_add = sender_address;

      if ( !Utils.isEmpty( sender_address ) ) {

        String sender_name = environmentSubstitute( replyName );

        if ( !Utils.isEmpty( sender_name ) ) {

          sender_address = sender_name;

          // sender_address = sender_name+ '<' + sender_address + '>';

        }

      

        msg.setFrom( new InternetAddress(sender_add, sender_address,"UTF-8" ) );

      } else {

        throw new MessagingException( BaseMessages.getString( PKG, "JobMail.Error.ReplyEmailNotFilled" ) );

      }

以上5.4和7.1方法处理相似。

  • image.png

  • 原来名称:

    image.png

    替换成下面这个



    image.png

    7.1解决方法:

    2)附件中文乱码
    1010行:将
    files.setFileName( file.getName().getBaseName() );
    改成 :

    BASE64Encoder enc = new BASE64Encoder();String fileName="=?UTF-8?B?"+enc.encode(file.getName().getBaseName().getBytes("utf-8"))+"?=";files.setFileName( fileName);


image.png

将启动文件中的java后面添加:

"-Dfile.encoding=UTF-8"


image.png

重启后得到:

image.png

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero

粤ICP备18035038号