Drupal模块文档

drupal7 webform模块 导出中文Results时出现乱码问题的解决

日期:2015-05-29 阅读:1997

dmandwp系统 - wordpress系统和DM系统区块建站>>

webform是一个生成表单的模块,可以用于客户留言,在线提交信息等功能。

问题呈现:
一个多语言项目,有简体中文与繁体中文,在用webform导出Results为excel文件时,用excel打开乱码,而文件编码为ANSI。


解决方法:
找到webform.export.inc文件里的$output = chr(255).chr(254);修改为$output = "xEFxBBxBF";
找到webform.export.inc文件里的$row = mb_convert_encoding($row, 'UTF-16LE', 'UTF-8');修改为 $row = mb_convert_encoding($row, 'UTF-8');


解决原理:
主要解决手段是把文件编码与字符编码都为UTF-8就可以,但webform会把字符编码改为UTF-16LE。除了改正字符编码,也要注意输出正确的DOM,webform会默认加上DOM,关于DOM的意义如下:
00 00 FE FF UTF-32, big-endian
FF FE 00 00 UTF-32, little-endian
FE FF UTF-16, big-endian
FF FE UTF-16, little-endian
EF BB BF UTF-8
 
webform代码中的$output = chr(255).chr(254);就是字符串"xFFxFE",即UTF-16, big-endian ,而我们需要输出UTF-8,所以使用EF BB BF,因此就需要改为"xEFxBBxBF"。

来自: http://www.cnblogs.com/catcat811/archive/2013/06/06/3121501.html 

drupal anywhere: webform or cck  http://www.trackself.com/archives/2802.html

<<点击返回

Drupal7视频教程 Drupal7主题 Drupal7最新文档 Drupal7推荐文档
  • 暂无内容!
  • 暂无内容!