Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Will foo_unpack work with utf-8 filenames ? (Read 3982 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Will foo_unpack work with utf-8 filenames ?


I have found that foobar2000 can't read mp3 files within some particular ZIP archive (however those mp3 file will be readable when be archived with RAR format)
I have noticed those archive files using utf-8 filenames, so my question is that - will foo_unpack  work with utf-8 filenames ?

Thank in advance!

Will foo_unpack work with utf-8 filenames ?

Reply #1
One of foobar2000 features is full unicode supported, no matter it is unicode big endian, utf-8 etc.
If your files are about Asian characters, then you will need to install these characters from your original OS cd.
Chinese characters can use unicode add-on which is called Unicode-At-on.

Will foo_unpack work with utf-8 filenames ?

Reply #2
eddy@, thank for your reply.

But I didn't mean CJK glyphs should be displayed on  my monitor! I mean those zip archived .mp3 files should be play when their utf-8 filenames !

Could anyone's foo_unpack read the .zip at http://ifile.it/976uwkp ?
Thank in advance.

Will foo_unpack work with utf-8 filenames ?

Reply #3
It reads it, but it turns the filename into a jumble of ANSI garbage. The file will still play, as long as the filename matches what the archive contains.

Will foo_unpack work with utf-8 filenames ?

Reply #4
It reads it, but it turns the filename into a jumble of ANSI garbage. The file will still play, as long as the filename matches what the archive contains.


Thank for kode52's reply, I realized that  ANSI code page  of my configuration is 950 and I found that
if I change the language for non-Unicode program to English, the problem is gone.

But if the language for non-Unicode program is Chinese, foo_unpack can't read the content! Will it to be consider as a bug ?

thank

Will foo_unpack work with utf-8 filenames ?

Reply #5
Sorry for misunderstanding.
Open your file with Windows' compressed (zipped) folder is empty, but with Winrar is normal.
If I extract the file and use Winrar 3.92 Eng. version to make a zip archieve again, foobar2000 can play the archive file.
If I use Winrar 3.70 Cht. version, Winrar can not even extract the file.
It seems that this is not a bug of foobar2000.
My OS language is Chinese traditional. This situation never happens to me.
I don't know much, but the archieve software you are using might be the solution.

Will foo_unpack work with utf-8 filenames ?

Reply #6
Sorry for misunderstanding.
Open your file with Windows' compressed (zipped) folder is empty, but with Winrar is normal.
If I extract the file and use Winrar 3.92 Eng. version to make a zip archieve again, foobar2000 can play the archive file.
If I use Winrar 3.70 Cht. version, Winrar can not even extract the file.
It seems that this is not a bug of foobar2000.
My OS language is Chinese traditional. This situation never happens to me.
I don't know much, but the archieve software you are using might be the solution.


I had tried info-Zip, WinRAR (3.91), 7-Zip and Winzip but all of them give the same result.

Could you provide the .zip you said which is correct ? (Maybe you replaced your current Codepage with some custom mapping? )

Thank in advance.


Will foo_unpack work with utf-8 filenames ?

Reply #8
Sure.
http://ifile.it/kalexc0/test2.zip


The filename byte sequence within the .zip that you provided  is

C7 AF C7 AF C7 E9 C7 55 20 B8 F1 2E 6D 70 33


I think the filename string isn't encoded with utf-8. 

(the UTF-8 byte seq of "?????"  is
E3 82 B3 E3 82 B3 E3 83 AD E3 81 AE E8 B7 A1)

Will foo_unpack work with utf-8 filenames ?

Reply #9
What? I didn't touch the extracted filename.
If it is encoded by UTF-8, then to extract and recompress it must be UTF-8, right?

Will foo_unpack work with utf-8 filenames ?

Reply #10
What? I didn't touch the extracted filename.
If it is encoded by UTF-8, then to extract and recompress it must be UTF-8, right?


I think the reason is that your current ANSI code page can be used to encode the filename.
And I think you are using WinRAR.

This behavior is documented at http://www.rarlab.com/rarnew.htm

"
Added support for ZIP archives containing Unicode file names in UTF-8 format. When creating ZIP archive, WinRAR stores names in Unicode only if they cannot be stored correctly using the current single byte character set. "


The problem seems was narrowed to if my current ANSI codepage can't encode the filename, then the file can't be read.

 

Will foo_unpack work with utf-8 filenames ?

Reply #11

I think it is not bad to summary the GOOD scenario .

1. My Windows configuration chooses Codepage 950 as my ANSI code page
2. The filen within the unreadable archive is "ココロの跡.mp3" encoded with utf-8 , "ココロの跡" in unicode is u30B3 u30B3 u30ED u306E u8DE1
3. Codepage CP950 (See http://unicode.org/Public/MAPPINGS/VENDORS...DOWS/CP950.TXT) can't encode u30B3, u30ED,u306E those Katakana letters.

After some google swarming, I realized that utf-8 filename is documented at http://www.pkware.com/documents/casestudies/APPNOTE.TXT. (It is called as an application note but some people call it as PKWARE specification)

Finally, I question is that - will foo_unpack work with utf-8 filename (or it is compatible with Unicode )?

Thanks in advance!