UTF-8 – Converting Simplified Chinese File with Garbled Name to UTF-8

encodinginternationalizationutf-8

I use Mac with English MacOS interface. I download a file from Chinese website(Simplified Chinese). It is garbled file name.

The garbled file name:

%E6%B9%96%E5%8D%97IPTV.apk

The real file name:

湖南IPTV.apk

I know the real new because of I know the file where I download.
I know there is a command "iconv" on MacOS. But, I don't know the proper encoding type.

The command "iconv -l" shows up lots of type. It lists all of them.

For an instance, I run "iconv -f GB_2312-80 -t UTF-8 orig.txt > new.txt".

This means I convert a file with GB_2312-80 format to UTF-8.

However, I don't know why the file downloaded from the site has a "garbled" file name on my system.

I want to know this garbled file's real character format. This is my question.

Furmore, according to the below list from "iconv -l" this command, what are those possible "Simplified Chinese file name format type" as below? If you know it.

Should I try every format which is possibly relative to answer format? It seems a tedious and slow way to do.

In addition, does it have any matter on my MacOS's character format? If you know it.

> ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US 
> ISO_646.IRV:1991 US US-ASCII CSASCII UTF-8 ISO-10646-UCS-2 UCS-2   
> CSUNICODE UCS-2BE UNICODE-1-1 UNICODEBIG CSUNICODE11 UCS-2LE   
> UNICODELITTLE ISO-10646-UCS-4 UCS-4 CSUCS4 UCS-4BE UCS-4LE UTF-16   
> UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UNICODE-1-1-UTF-7 UTF-7  
> CSUNICODE11UTF7 UCS-2-INTERNAL UCS-2-SWAPPED UCS-4-INTERNAL   
> UCS-4-SWAPPED C99 JAVA CP819 IBM819 ISO-8859-1 ISO-IR-100 ISO8859-1 
> ISO_8859-1 ISO_8859-1:1987 L1 LATIN1 CSISOLATIN1 ISO-8859-2   
> ISO-IR-101 ISO8859-2 ISO_8859-2 ISO_8859-2:1987 L2 LATIN2 CSISOLATIN2 
> ISO-8859-3 ISO-IR-109 ISO8859-3 ISO_8859-3 ISO_8859-3:1988 L3 LATIN3  
> CSISOLATIN3 ISO-8859-4 ISO-IR-110 ISO8859-4 ISO_8859-4   
> ISO_8859-4:1988 L4 LATIN4 CSISOLATIN4 CYRILLIC ISO-8859-5 ISO-IR-144  
> ISO8859-5 ISO_8859-5 ISO_8859-5:1988 CSISOLATINCYRILLIC ARABIC   
> ASMO-708 ECMA-114 ISO-8859-6 ISO-IR-127 ISO8859-6 ISO_8859-6   
> ISO_8859-6:1987 CSISOLATINARABIC ECMA-118 ELOT_928 GREEK GREEK8   
> ISO-8859-7 ISO-IR-126 ISO8859-7 ISO_8859-7 ISO_8859-7:1987   
> ISO_8859-7:2003 CSISOLATINGREEK HEBREW ISO-8859-8 ISO-IR-138   
> ISO8859-8 ISO_8859-8 ISO_8859-8:1988 CSISOLATINHEBREW ISO-8859-9   
> ISO-IR-148 ISO8859-9 ISO_8859-9 ISO_8859-9:1989 L5 LATIN5 CSISOLATIN5 
> ISO-8859-10 ISO-IR-157 ISO8859-10 ISO_8859-10 ISO_8859-10:1992 L6   
> LATIN6 CSISOLATIN6 ISO-8859-11 ISO8859-11 ISO_8859-11 ISO-8859-13   
> ISO-IR-179 ISO8859-13 ISO_8859-13 L7 LATIN7 ISO-8859-14 ISO-CELTIC  
> ISO-IR-199 ISO8859-14 ISO_8859-14 ISO_8859-14:1998 L8 LATIN8   
> ISO-8859-15 ISO-IR-203 ISO8859-15 ISO_8859-15 ISO_8859-15:1998   
> LATIN-9 ISO-8859-16 ISO-IR-226 ISO8859-16 ISO_8859-16   
> ISO_8859-16:2001 L10 LATIN10 KOI8-R CSKOI8R KOI8-U KOI8-RU CP1250   
> MS-EE WINDOWS-1250 CP1251 MS-CYRL WINDOWS-1251 CP1252 MS-ANSI   
> WINDOWS-1252 CP1253 MS-GREEK WINDOWS-1253 CP1254 MS-TURK WINDOWS-1254 
> CP1255 MS-HEBR WINDOWS-1255 CP1256 MS-ARAB WINDOWS-1256 CP1257   
> WINBALTRIM WINDOWS-1257 CP1258 WINDOWS-1258 850 CP850 IBM850   
> CSPC850MULTILINGUAL 862 CP862 IBM862 CSPC862LATINHEBREW 866 CP866   
> IBM866 CSIBM866 CP1131 MAC MACINTOSH MACROMAN CSMACINTOSH   
> MACCENTRALEUROPE MACICELAND MACCROATIAN MACROMANIA MACCYRILLIC   
> MACUKRAINE MACGREEK MACTURKISH MACHEBREW MACARABIC MACTHAI HP-ROMAN8  
> R8 ROMAN8 CSHPROMAN8 NEXTSTEP ARMSCII-8 GEORGIAN-ACADEMY GEORGIAN-PS  
> KOI8-T CP154 CYRILLIC-ASIAN PT154 PTCP154 CSPTCP154 KZ-1048 RK1048   
> STRK1048-2002 CSKZ1048 MULELAO-1 CP1133 IBM-CP1133 ISO-IR-166 TIS-620 
> TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1 CP874   
> WINDOWS-874 VISCII VISCII1.1-1 CSVISCII TCVN TCVN-5712 TCVN5712-1   
> TCVN5712-1:1993 ISO-IR-14 ISO646-JP JIS_C6220-1969-RO JP   
> CSISO14JISC6220RO JISX0201-1976 JIS_X0201 X0201 CSHALFWIDTHKATAKANA   
> ISO-IR-87 JIS0208 JIS_C6226-1983 JIS_X0208 JIS_X0208-1983   
> JIS_X0208-1990 X0208 CSISO87JISX0208 ISO-IR-159 JIS_X0212   
> JIS_X0212-1990 JIS_X0212.1990-0 X0212 CSISO159JISX02121990 CN   
> GB_1988-80 ISO-IR-57 ISO646-CN CSISO57GB1988 CHINESE GB_2312-80   
> ISO-IR-58 CSISO58GB231280 CN-GB-ISOIR165 ISO-IR-165 ISO-IR-149 KOREAN 
> KSC_5601 KS_C_5601-1987 KS_C_5601-1989 CSKSC56011987 EUC-JP EUCJP   
> EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE   
> MS_KANJI SHIFT-JIS SHIFT_JIS SJIS CSSHIFTJIS CP932 ISO-2022-JP   
> CSISO2022JP ISO-2022-JP-1 ISO-2022-JP-2 CSISO2022JP2 CP50221   
> ISO-2022-JP-MS CN-GB EUC-CN EUCCN GB2312 CSGB2312 GBK CP936 MS936   
> WINDOWS-936 GB18030 ISO-2022-CN CSISO2022CN ISO-2022-CN-EXT HZ   
> HZ-GB-2312 EUC-TW EUCTW CSEUCTW BIG-5 BIG-FIVE BIG5 BIGFIVE CN-BIG5 
> CSBIG5 CP950 BIG5-HKSCS:1999 BIG5-HKSCS:2001 BIG5-HKSCS:2004   
> BIG5-HKSCS BIG5-HKSCS:2008 BIG5HKSCS EUC-KR EUCKR CSEUCKR CP949 UHC 
> CP1361 JOHAB ISO-2022-KR CSISO2022KR

Best Answer

You can use UnicodeChecker from earthlingsoft (freeware).
From their website:

Conversion To and from: HTML, CSS, URLs, IDNA and various programming languages • Unicode Normalisation with an indication whether the string is already normalised (NFC, NFKC, NFD and NFKD) • Split Up and Diff tools to analyse a string codepoint by codepoint and highlight the differences • Most of the features are available to all applications you use via the ‘Services’ menu and AppleScript.

I copied your string %E6%B9%96%E5%8D%97IPTV.apk, pasted it in TextEdit, selected it, then chose TextEdit menu → Services → Replace Percent Escapes. It replaced the selected text with 湖南IPTV.apk.

It's an excellent app, which provides a lot of conversion options and has been on my Mac's from the early 2000's. You can select which services to activate