彻底解决Moodle上传文件中文文件名乱码解决方法
2011-06-03 15:54
1066 查看
彻底解决Moodle上传文件中文文件名乱码解决方法
谢作如 [ 2008-5-21 8:19:00 ]
2
推荐
moodle对中文的支持不是很好,这是公认的BUG。在网上可以找到一些解决办法,其中最简单的做法是:
-------------------------------
config.php加入
$CFG->unicodecleanfilename = true;
===============================1.9试了下只要改这个就可以了
即可正常上传中文档名
------------------------------
我在lib/moodlelib.php下也发现了这样一段说明,原来是官方的解决方案:
/**
* Cleans a given filename by removing suspicious or troublesome characters
* Only these are allowed: alphanumeric _ - .
* Unicode characters can be enabled by setting $CFG->unicodecleanfilename = true in config.php
*
* WARNING: unicode characters may not be compatible with zip compression in backup/restore,
* because native zip binaries do weird character conversions. Use PHP zipping instead.
*
* @param string $string file name
* @return string cleaned file name
*/
其实这样并不是很彻底的方案。如果在插入超链接时选择本站文件,返回的文件目录中中文文件名还是乱码的。不过我发现只要在浏览器中选择utf-8编码,还是可以正确浏览的,但这样毕竟不方便。
再也找不到相关的资料了,于是自力更生,我找了点PHP的资料,直接修改了coursefiles.php文件(lib/editor/htmlarea/coursefiles.php),在第二行加上这样一句:
@header("Content-Type: text/html; charset=utf-8");
再次测试网页,发现浏览器就可以自动选择utf-8编码,不再出现乱码了。
终于算彻底解决中文文件名乱码的问题。
谢作如 [ 2008-5-21 8:19:00 ]
2
推荐
moodle对中文的支持不是很好,这是公认的BUG。在网上可以找到一些解决办法,其中最简单的做法是:
-------------------------------
config.php加入
$CFG->unicodecleanfilename = true;
===============================1.9试了下只要改这个就可以了
即可正常上传中文档名
------------------------------
我在lib/moodlelib.php下也发现了这样一段说明,原来是官方的解决方案:
/**
* Cleans a given filename by removing suspicious or troublesome characters
* Only these are allowed: alphanumeric _ - .
* Unicode characters can be enabled by setting $CFG->unicodecleanfilename = true in config.php
*
* WARNING: unicode characters may not be compatible with zip compression in backup/restore,
* because native zip binaries do weird character conversions. Use PHP zipping instead.
*
* @param string $string file name
* @return string cleaned file name
*/
其实这样并不是很彻底的方案。如果在插入超链接时选择本站文件,返回的文件目录中中文文件名还是乱码的。不过我发现只要在浏览器中选择utf-8编码,还是可以正确浏览的,但这样毕竟不方便。
再也找不到相关的资料了,于是自力更生,我找了点PHP的资料,直接修改了coursefiles.php文件(lib/editor/htmlarea/coursefiles.php),在第二行加上这样一句:
@header("Content-Type: text/html; charset=utf-8");
再次测试网页,发现浏览器就可以自动选择utf-8编码,不再出现乱码了。
终于算彻底解决中文文件名乱码的问题。
相关文章推荐
- php上传文件中文文件名乱码的解决方法
- php上传文件中文文件名乱码的解决方法
- php上传文件中文文件名乱码的解决方法
- php上传文件中文文件名乱码的解决方法
- 关于ASP无组件上传文件时 中文 双引号 无法取得 文件名 扩展名 解决方法
- Java 下载文件(如Excel)文件名中文乱码或缺失解决方法
- 解决文件下载在火狐浏览器出现中文文件名乱码的方法
- 今天使用jspsmartupload.jar实现上传文件的功能,发现中文乱码,于是总结了下解决方法
- 解决httpclient上传文件的时候中文文件名乱码的问题
- 用FlashFXP上传文件到SSH服务器,附FlashFXP显示中文乱码的解决方法
- uploadify 上传文件 文件名乱码解决方法
- 下载数据库文件时会出现中文文件名乱码,解决方法
- ASP.NET下载文件的中文文件名乱码的解决方法
- php fckeditor 上传文件(或图片)中文显示为乱码的解决方法(两种方法)
- HttpClient 4.3.* 上传带中文文件名文件文件名乱码问题的解决
- 从windows上传文件到linux,中文名乱码解决方法
- Struts2文件上传以及文件名中文乱码解决
- FCKeditor 2.3中文文件上传时出现乱码的解决方法
- 彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题
- 解决COS、FileUpload上传文件时中文文件名乱码问题