Created attachment 121929 [details] Screenshot of the issue. SUMMARY If a file contains weird character encodings like: $ls -l * ''$'\360\302\342''A'$'\374\177' 'output'$'\221\314\034''_'$'\026\177''.png Dolphin cannot delete those, but says they do not exist. They can be deleted by opening a terminal though. OBSERVED RESULT See screenshot. EXPECTED RESULT Dolphin does not complain. SOFTWARE/OS VERSIONS Operating System: Manjaro Linux KDE Plasma Version: 5.16.3 KDE Frameworks Version: 5.61.0 Qt Version: 5.13.0 Kernel Version: 5.2.4-1-MANJARO
Can confirm with Dolphin 19.11.70 on KDE Neon Git Unstable.
Could you please create a tar.gz archive with a file named this way and add it here?
Created attachment 121937 [details] Example file with invalid encoding The file can be deleted via its inode: > find . -inum ${inode} -delete
Created attachment 121938 [details] Minimal example project It seems that the faulty encoding vanishes when I download the attachment with the FireFox. That's why I created a minimal C++ example project. However it requires the ROOT framework to be installed. The "Form" function used is the following: https://root.cern.ch/doc/master/classTString.html#aeb44d6183d8b1f1b7090dbd3c93f5e39 I am sorry that I cannot deliver any other samples right now.
I found a workaround: In Dolphin do: * Create a new folder * Move the weird files to this new folder with Dolphin * Delete the folder, ie the folder moves to trash * Delete the folder in the trash Just deleting the files directly does not work.
> It seems that the faulty encoding vanishes when I download the attachment with the FireFox. That's the reason I requested a tar.gz file which contains a file using a not working name.
I should have mentioned that I tried to this but failed: > tar -czf test.tar "\'\'$\'\020\365\226\377\177\'\'_Encoding.root\'" as tar will rename the file making the sample useless. However you can do this: > touch testfile > mv testfile ''$'\020\365\226\377\177''.test' :-)
> mv testfile ''$'\020\365\226\377\177''.test' I could delete the file using Dolphin. Need more information how to reproduce.
The minimal sample I found, which I cannot delete, is > touch $'\300' or any number greater than 300. Below it will create an ASCII, for example > touch $'\100' will create a file named "@" I am not sure why you are able to delete it. Maby you use a filesystem other than ext4? Which additional information could I give you?
I am also using ext4. Are you using a UTF-8 locale?
set | grep ^L[AC]
> set | grep ^L[AC] > LANG=de_DE.UTF-8 > LANGUAGE= > LC_ALL=de_DE.UTF-8 > LC_NAME=de_DE.UTF-8
If you say that you are able to delete a directory that contains such a file, the bug isn't in kio. Needs someone to further investigate.
Created attachment 123697 [details] Video which demonstrates the issue. I tried it again and I can no longer delete the folder with the weird file within Dolphin but with the "rm" command in a terminal. So it is likely related to KIO. I made a video for you: * Create a weird file * Rename it * Undo renaming * Try to delete it * Move it to a folder * Delete the folder, ie move it to the trash * Try to empty the trash * Try to remove the folder in the trash * Remove the folder with rm -rf * Press F5 to update the cache so Dolphin notices that the Folder and file are actually gone System update: Operating System: Manjaro Linux KDE Plasma Version: 5.17.2 KDE Frameworks Version: 5.64.0 Qt Version: 5.13.1
For the video I used a freshly created user account. However, a friend of mine, who is on Manjaro KDE as well, could not reproduce it unfortunately. Maybe I should try to reinstall my system or test it with a live version?
I haven't investigated properly, but if you are trying to delete files inside trash:// KIO slave instead of using the file:// slave, then it probably cannot work because the encoding hack to support broken file names was only added for the file:// slave.
(In reply to Christoph Feck from comment #16) > if you are trying to delete files > inside trash:// KIO slave instead of using the file:// slave, then it > probably cannot work because the encoding hack to support broken file names > was only added for the file:// slave. That's why the file in the folder is not displayed in Dolphin for trash:// but only for file:// Displays the file: > /home/user/.local/share/Trash/files/foo/ Does not display the file: > trash:/0-foo/
Moving to confirmed as it seems Christoph and Postix have confirmed where the issue lies.
More than six years later, this bug persists. I have just downloaded a .zip archive and got some files whose names have invalid encoding after extracting it. Dolphin 25.08.3 is unable to rename or delete these files, but Nautilus 49.1 installed on the same system can rename them without any problem. Operating System: Arch Linux KDE Plasma Version: 6.5.3 KDE Frameworks Version: 6.20.0 Qt Version: 6.10.0 Graphics Platform: Wayland
The encoding hack/fix had been removed in KIO 6, most likely because Qt no longer allows it.