我试图上传一个以阿拉伯语命名的文件,在上传保存在数据库中的文件后,它的阿拉伯文名称正确,但在目标文件夹中文件没有用正确的名字保存...所以这里有什么问题?在yii上传阿拉伯文命名文件...编码问题
0
A
回答
1
是其Windows
PHP,以及使用MS C运行时的执行标准输入输出文件处理,不能与机器的默认代码页之外的字符处理Windows的文件名的其他应用程序。如果服务器设置为阿拉伯语,则可以上传阿拉伯语(但不能上传中文或拉丁语口音)。从理论上说,你可以将进程的代码页设置为UTF-8(65001),但是C运行时存在严重的错误,使得这个错误不可靠。
如果您需要Unicode文件名支持,您将不得不直接调用Win32 W
API,而不是依赖标准文件IO,除非语言内置了对它的支持(.NET语言和Python做; PHP不)。
允许用户指定用于服务器端文件系统存储的文件名是危险的,而且很难正确使用,特别是在Windows下。使用代理文件名通常会更好,例如123.dat
,其中123
可能是数据库行ID。这也会导致Unicode问题消失。 (如果你想直接为它们提供服务,你可以使用重写来使它们看起来有更友好的外部名称,通过IRI编码,URL可以很容易地在路径中包含Unicode字符。)
相关问题
- 1. 阿拉伯字符base64编码问题
- 2. 通过FTP访问阿拉伯文命名的文件
- 3. 阿拉伯编码
- 4. 在Android中打开阿拉伯文命名的文件
- 5. PHP文件上传 - 处理阿拉伯文/中文/日文文件名
- 6. BufferedReader不能用阿拉伯语编码(编码问题)
- 7. 在阿拉伯字符文件名(阿拉伯字符)下载图像
- 8. 阿拉伯字符编码
- 9. 编码阿拉伯语proplem
- 10. 编码CSV文件与阿拉伯文内容
- 11. 传说在阿拉伯文jpgraph逆转
- 12. 阿拉伯字符问题
- 13. 印刷阿拉伯文文本文件
- 14. 用阿拉伯语编辑Android文本问题
- 15. 阿拉伯文文本框
- 16. 使用阿拉伯文件名在命令提示符下复制文件
- 17. 用阿拉伯语保存文件名使用传统的asp
- 18. 文件上传编码遇到文件名称问题。 GWT
- 19. R输入文件阿拉伯文?
- 20. Tokenize阿拉伯语文本文件java
- 21. 阿拉伯语在Chtml ::标签Yii
- 22. 将阿拉伯文件名转换为问号
- 23. 生成阿拉伯文QR码
- 24. 阿拉伯字符编码问题:UTF-8与Windows-1256
- 25. 笨数据为csv字符编码问题与阿拉伯
- 26. Android的 - 与编码阿拉伯语词汇问题
- 27. 英语/阿拉伯语编码的问题
- 28. PHP和ODBC中的阿拉伯语编码问题(Sybase)
- 29. Android中的阿拉伯文文本问题
- 30. 发送阿拉伯文文本通知的问题
什么平台?如果Windows放弃。另外,您通常应避免将用户输入用作创建文件系统名称的基础。 – bobince
是它的窗户。 – Mohammad