当前位置:  技术问答>linux和unix

使用sendmail发信时,subject出现乱码的问题。(使用了标准的base64编码,outlook的时候看是正常编码,别的服务器还是有乱码例如mozilla收

    来源: 互联网  发布时间:2015-09-12

    本文导语:  各位大哥,有个问题要请教,马上就要发行站点了,但是这个问题却没有解决。 是对日文的编码。。。 问题描述: 使用sendmail发信时,subject出现乱码的问题。(使用了标准的base64编码,outlook的时候看是正常编码,...

各位大哥,有个问题要请教,马上就要发行站点了,但是这个问题却没有解决。

是对日文的编码。。。

问题描述:
使用sendmail发信时,subject出现乱码的问题。(使用了标准的base64编码,outlook的时候看是正常编码,别的服务器还是有乱码例如mozilla收信的时候)

急!!!

编码SRC:

下面的src中每76个字节换行处理已经删除,因为只对subject编码,加了换行处理,好像连outlook看也是乱码的

static int base64_encode(char *pSrc, unsigned int nSize, char *pDest)
{
    const unsigned int BASE64_ENCODE_TABLE[64] = {
     65,  66,  67,  68,  69,  70,  71,  72,  // 00 - 07
     73,  74,  75,  76,  77,  78,  79,  80,  // 08 - 15
     81,  82,  83,  84,  85,  86,  87,  88,  // 16 - 23
     89,  90,  97,  98,  99, 100, 101, 102,  // 24 - 31
    103, 104, 105, 106, 107, 108, 109, 110,  // 32 - 39
    111, 112, 113, 114, 115, 116, 117, 118,  // 40 - 47
    119, 120, 121, 122,  48,  49,  50,  51,  // 48 - 55
     52,  53,  54,  55,  56,  57,  43,  47 };// 56 - 63

    unsigned int iB, iInMax3, Len;
    char *pInPtr, *pInLimitPtr;
    char *OutPtr ;
    unsigned int m_LineWidth = 76;

    if ((pSrc == NULL) || (nSize  6;
            OutPtr[0] = BASE64_ENCODE_TABLE[iB];
            OutPtr+=4;
            Len+=4;
        }

    }

    switch (nSize - iInMax3)
    {
        case 1:
            iB = (unsigned char) *pInPtr;
            iB = iB  6;
            OutPtr[0] = BASE64_ENCODE_TABLE[iB];
            OutPtr[2] = '=';
            OutPtr[3] = '=';
            OutPtr+=4;
            break;
        case 2:
            iB = (unsigned char) *pInPtr++;
            iB = iB  6;
            OutPtr[0] = BASE64_ENCODE_TABLE[iB];
            OutPtr[3] = '='; // Fill remaining byte.
            OutPtr+=4;
            break;
    }
    return (unsigned int) (OutPtr - pDest);
}

使用的时候:

。。。。。。。

memset(szBuff, 0, sizeof(szBuff));
base64_encode(subject, strlen(subject), szBuff);
fprintf(msg, "Subject: =?iso-2022-jp?B?%s?=n",szBuff);

。。。。。。。

sendmail -oi -t 

    
 
 

您可能感兴趣的文章:

  • 我直接在LINUX 系统命令符下使用有乱码?而在WINDOWS下,使用PUTTY 连接却很正常?
  • linux 中使用man命令出现乱码
  • 解决jsp页面使用网络路径访问图片的乱码问题
  • 使用配置命令的时候,显示乱码???
  • 使用jsp中url跳转时,怎样让它变成乱码使客户端看不到?
  • 使用SecureCRT连接到Linxu后,中断的汉字乱码,怎么解决?
  • 为什么使用cat输出的文本文件是中文的,使用java从文件读取出来时显示的是乱码?
  • mysql使用source 命令乱码问题解决方法
  • 使用EntityBean将中文存入数据库时出现乱码,如何解决?
  • 在ubanto中使用ftp命令访问ftp站点,但是文件列表显示乱码
  • java中使用URL类,读取服务器上的文件返回的中文为什么是乱码?
  • 请教使用putty以telnet方式登录并运行程序出现的乱码问题
  • 我使用jbuilder6.0来开发jsp,出现乱码怎么办????急急急!
  • Linux下使用MyEclipse6.0打开window下创建的文本时中文部分出现乱码
  • jsp中使用jstl导入html乱码问题解决方法
  • 使用vi编辑文件,输错了,使用backspace删除,结果出现乱码,求解决办法。。。
  • c#使用nsoup解析html乱码解决方法分享 nsoup教程
  • 使用java从乱码文本中解析出正确的文本
  • 一个使用udp协议发送数据报时中文为何会成为乱码的问题
  • 基于jsp:included的使用与jsp:param乱码的解决方法
  • c#字符串编码编码(encoding)使用方法示例
  • JSP页面中文传递参数使用escape编码
  • linux上使用C++如何处理utf-8编码的字段
  • 使用iconv批量改变文件编码的shell脚本
  • 使用标准SAX解析XML文档如何获取文档编码信息及约束它的dtd文件路径.
  • 使用python的chardet库获得文件编码并修改编码
  • linux上的 中文文件名的 字体 是使用什么编码的???
  • linux下使用vim 编码的补全问题
  • MYSQL使用GBK编码,该如何处理
  • 使用UTF8编码通过gsoap访问.Net Web Service依然不能正确显示中文
  • 基于Java字符编码的使用详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • c/c++预处理命令预#,##使用介绍
  • asp程序使用的access在Linux下如何使用!
  • 在div中使用css让文字底部对齐的方法
  • 新装的Linux使用root用户不能使用FTP?
  • Python namedtuple(命名元组)使用实例
  • LINUX下使用Eclipse,如何使用交叉编译器?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3