首页 » 项目 » 本地支持项目 » 任务/议题追踪 » Support » 编辑追踪项
测试: 以yunfang用户提交一个议题(负责人为None) ,然后以Syfvb去follow_up消息,倘若消息是英文的,则yunfang作为提交者收到的邮件是完全显示的,倘若消息中有中文,则yunfang作为提交者收到的邮件 Notification通知里面的中文内容丢失,只留有英文。
提交者: 商 云方 新增日期: 2015-01-08 16:07:43 因为图表中的内容显示乱码,根据以前的安装日志,是要配置/etc/gforge/gforge.conf 中的true_Type 字体路径。但发现没有中文字体路径存在,于是就尝试安装fonts-chinese-3.02-12.el5.noarch.rpm,但提示缺少很多前置可执行。于是怀疑阿里云服务器默认没有中文支持包的安装; 百度搜索 阿里云服务器 中文支持,得到的解决方案是: yum groupinstall chinese-support 可参考:http://www.biphp.com/website-design/%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8vnc%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B/ 安装后有了中文支持了,但是字体使用的是ttc文件。 而fonts-chinese-3.02-12.el5.noarch.rpm 有中文ttf文件,只是rpm 安装不了而已,于是解压rpm,获得ttf, 然后把fonts/chinese目录拷贝到/usr/share/fonts目录下; rpm2cpio fonts-chinese-3.02-12.el5.noarch.rpm | cpio -div 重启服务器后,发送notification中的中文正常了,没有漏掉中文内容了。 问题关闭;
提交者: syfvb jack 新增日期: 2015-01-10 10:50:28 今天收到的邮件又发现中文内容丢失的情况了。
提交者: 商 云方 新增日期: 2015-01-12 07:20:48 对于Notification 中的中文丢失的情况,分析过程如下: 所有需要通知相关人员的移动通知首先是被放到Notification_queue表中,因此做了多次试验,发现送到Notification_queue 中的内容中文正常,没有丢失。 然后是通过一个Cron任务来实现邮件发送的(send_notification_queue.php), 为了加快测试,我是对跟踪项Flow-up消息后,直接在命令行运行cd /opt/gforge5 && /usr/bin/php -d include_path=".:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external" /opt/gforge5/bin/gforge cronjob /opt/gforge5/cronjobs/send_notification_queue.php 这样测试时,从来没有能够在邮件中重现中文丢失的错误,倒是让Cron job运行的时候能重现这种错误,于是怀疑Cron 运行的时候有些环境变量跟手动执行有差别,最主要的就是字符集,于是就在这个Cron任务运行前加上字符集环境变量 export LANG=en_US.UTF-8 ,然后再测试时发现cron job发出的邮件中文也正常了。 #> crontab -e ######################### # GFORGE CRONJOBS ######################### */10 * * * * export LANG=en_US.UTF-8 && cd /opt/gforge5 && /usr/bin/php -d include_path=".:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external" /opt/gforge5/bin/gforge cronjob /opt/gforge5/cronjobs/send_notification_queue.php */15 * * * * cd /opt/gforge5 && /usr/bin/php -d include_path=".:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external" /opt/gforge5/cron15.php 15 3 * * * cd /opt/gforge5 && /usr/bin/php -d include_path=".:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external" /opt/gforge5/crondaily.php ######################### # GFORGE SPHINX Job Index ######################### 15 1 * * * . /usr/local/sphinx/index_gf_main_rotate.sh */15 * * * * . /usr/local/sphinx/index_gf_delta_rotate.sh 猜测: Cron 运行的时候有些必要的环境变量未加载。 解决方法: 给 cron 任务 send_notification_queue.php 加上字符集环境变量: */10 * * * * export LANG=en_US.UTF-8 && cd /opt/gforge5 && /usr/bin/php -d include_path=".:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external" /opt/gforge5/bin/gforge cronjob /opt/gforge5/cronjobs/send_notification_queue.php 结果: cron job发出的邮件中文也正常了。 这下问题可以关闭了。