CI文件上传 中文文件名上传乱码
RT, 我在坛子里搜索有人说用iconv转码那怎么转呢,这个文件上传类不是直接初始化配置之后就用$this->upload->do_upload()直接就上传了么,根本就没有给机会转码文件名的哇{:soso_e110:}非必要就別轉了吧
畢竟 CI 還有同名偵測
你這樣就是兩個地方要改
考慮考慮 Hex 的方法吧
ci 文件上传时,当文件名是中文时,上传文件名变乱码
php文件系统使用的是比较古老的GB2312而不是通用性更好的utf8
上传类中设置个英文+数字形式的file_name一般就不会乱码 Closer 发表于 2014-12-23 09:38
非必要就別轉了吧
畢竟 CI 還有同名偵測
你這樣就是兩個地方要改
玩的暗黑还是风暴英雄?
一叶扁舟 发表于 2014-12-24 08:12
php文件系统使用的是比较古老的GB2312而不是通用性更好的utf8
上传类中设置个英文+数字形式的file_name ...
PHP 的文件系统,没有这种东西吧。。。
Hex 发表于 2014-12-25 11:28
PHP 的文件系统,没有这种东西吧。。。
其实就是PHP处理文件相关的……目前只识别GB2312编码
一叶扁舟 发表于 2014-12-25 17:08
其实就是PHP处理文件相关的……目前只识别GB2312编码
我认为 PHP 在文件处理相关函数上是无编码的,也就是说和操作系统的文件系统的编码相关。
Hex 发表于 2014-12-25 18:32
我认为 PHP 在文件处理相关函数上是无编码的,也就是说和操作系统的文件系统的编码相关。
...
这个确实有……以前看韩顺平PHP教程时候就提到这了 PHP文件系统从最开始就用的GB2312,到现在PHP5+ , 都没换过
一叶扁舟 发表于 2014-12-26 08:27
这个确实有……以前看韩顺平PHP教程时候就提到这了 PHP文件系统从最开始就用的GB2312,到现在PHP5+ , ...
我认为他说的是不对的,PHP 的文件操作函数例如 fopen, fgets 等都是可以安全用于二进制文件的,所以这些函数本身就是不关心编码的。
我们还是应该以 PHP 手册说的为准。
Hex 发表于 2014-12-26 11:14
我认为他说的是不对的,PHP 的文件操作函数例如 fopen, fgets 等都是可以安全用于二进制文件的,所以这些 ...
{:soso_e127:}好吧 我们说的不是一个东西
我说的是文件名
页:
[1]
2