Tôi đang sử dụng lớp ZipArchive php để tạo tệp nén zip. Tôi sử dụng tham số thứ hai của phương thức addFile để thiết lập tên của tệp trong kho lưu trữ (vì tệp thực trên đĩa có tên khác). Một số tên phải có dấu tiếng Pháp (chẳng hạn như & eacute;). Khi tôi tải xuống tệp lưu trữ, các dấu trọng âm không được hiển thị chính xác trong tên tệp. Tôi nên sử dụng mã hóa nào cho tên tệp? (ứng dụng sử dụng UTF-8)ZipArchive sử dụng mã hóa nào để lưu trữ tên tệp trong kho lưu trữ đã tạo?
Trả lời
Tệp zip không có mã hóa được chỉ định; công cụ lưu trữ phải đoán (hoặc giả định) mã hóa được sử dụng. Hãy thử CP1252 trước, sau đó đi từ đó.
Không hoạt động. Tôi đã thử ISO-8859-1, CP1252 và CP850 mà không thành công – matei
Trình tự byte của tên tệp trông như thế nào và văn bản được cho là gì? –
Sử dụng mã hóa DOS. Tên tệp của tôi có các ký tự cyrillic, vì vậy tôi mã hóa tên tệp từ cp1251
(Windows) thành cp866
(DOS), khi chuyển tên tệp thành $zip->addFile()
.
Cảm ơn một nhóm! Làm thế nào bạn đã tìm ra chính xác những gì mã hóa để sử dụng? – YakovL
Đó là lỗi php # 53948, xem official bug report.
workaround đề nghị (làm việc cho tôi):
$zip->addFile($file, iconv("UTF-8", "CP852", $local_name));
- 1. Kho lưu trữ Subversion được mã hóa
- 2. Phương pháp mã hóa một kho lưu trữ trong C++
- 3. Lưu trữ kho lưu trữ OSGI OBR?
- 4. Sử dụng kho lưu trữ Git cục bộ với kho lưu trữ Subversion chính
- 5. Bzr: Tạo kho lưu trữ được chia sẻ từ kho lưu trữ độc lập hiện có
- 6. Gọi một Kho lưu trữ từ Kho lưu trữ
- 7. Subversion lưu trữ các tệp trong kho lưu trữ như thế nào?
- 8. thực hành tốt nhất: cách lưu trữ mã phía máy chủ trong kho lưu trữ maven
- 9. AES Mã hóa và lưu trữ khóa?
- 10. Sử dụng amazon S3 để lưu trữ các kho lưu trữ Hg từ xa
- 11. Kho lưu trữ mã. Whats tốt nhất?
- 12. Làm cách nào để đổi tên kho lưu trữ GitHub?
- 13. Git, xóa kho lưu trữ
- 14. My Gitorious không tạo kho lưu trữ!
- 15. Tạo kho lưu trữ git chứa một kho git khác
- 16. Tại sao maven sử dụng kho lưu trữ nội bộ của tôi trước kho lưu trữ cục bộ của tôi?
- 17. Có thể sử dụng cả Kho lưu trữ NuGet cục bộ và Kho lưu trữ từ xa
- 18. Vùng lưu trữ git lưu trữ tệp như thế nào?
- 19. Tạo kho lưu trữ zip để tải xuống tức thì
- 20. Maven sử dụng kho lưu trữ sai để tải xuống
- 21. Biểu tượng kho lưu trữ Git
- 22. Giao dịch trong Mẫu Kho lưu trữ
- 23. Sự khác biệt giữa kho lưu trữ được đóng gói và kho lưu trữ đã phát nổ
- 24. Cách lưu trữ khóa được sử dụng để mã hóa các tệp
- 25. Sử dụng Git để tạo bản lưu trữ các tệp đã thay đổi
- 26. Kho lưu trữ/thư mục lưu trữ của Eclipse
- 27. Sử dụng nhiều kho lưu trữ trong Maven
- 28. TortoiseSVN, cách đổ một kho lưu trữ?
- 29. Tạo kho lưu trữ sử dụng mã khuôn khổ thực thể Đầu tiên 4.3
- 30. Kho lưu trữ Android Intents
Zip là một định dạng khá cũ, và xảy ra trước Unicode. Các phiên bản trước năm 2007 của định dạng nhiều khả năng chỉ sử dụng ascii mở rộng tiêu chuẩn. Sau '07, thông số mới cho phép UTF-8. Kiểm tra phiên bản tệp bạn đang tạo. –