Home >Operation and Maintenance >Linux Operation and Maintenance >What should I do if garbled characters appear when decompressing a zip file under Linux?

What should I do if garbled characters appear when decompressing a zip file under Linux?

Y2J
Y2JOriginal
2017-05-24 14:16:062670browse

This article mainly introduces how to solve the problem of zip file decompression and garbled characters under Linux. It has certain reference value. Interested friends can refer to it.

Cause

Since the zip format does not specify the encoding format, the encoding in the zip file generated under Windows is GBK/GB2312, etc., so , causing these zip files to appear garbled when decompressed under Linux, because the default encoding under Linux is UTF8.

Solution 1

Use 7z to decompress.

Installationp7zip and convmv


# fedora
$ su -c 'yum install p7zip convmv'
# ubuntu
$ sudo apt-get install p7zip convmv

Execute the command to decompress


# 使用7z解压缩
$ LANG=C 7za x your-zip-file.zip
# 递归转码
$ convmv -f GBK -t utf8 --notest -r .

Solution 2

The files compressed on Windows use the system default encoding Chinese to compress the files. Since the zip file does not declare its encoding, unzip on Linux is generally decompressed with the default encoding, and the Chinese file name will be garbled.

Although someone reported this as a bug in 2005, the official website of info-zip did not include automatic identification of encoding in the plan. Maybe they did not think this was a problem. Sun adopted the same approach to the zip encoding problem that has existed in Java for N years.

There are 2 ways to solve the problem:

1. Unzip through the unzip line command and specify the character set

unzip -O CP936 xxx.zip (GBK, GB18030 can also be used)

What’s interesting is that there is no description of this option in the unzip manual, and unzip --help has a simple line for this parameter. illustrate.

2. In the environment variable , specify the unzip parameter, and always display and decompress the file in the specified character set

Add 2 to /etc/environment Line


UNZIP="-O CP936"
ZIPINFO="-O CP936"

In this way, the archive file manager (file-roller) of the Gnome desktop can use unzip to decompress Chinese normally, but the file-roller itself cannot set the encoding transfer to unzip.

【Related recommendations】

1. Mysql free video tutorial

2. Detailed explanation of innodb_index_stats when importing data Error prompting table primary key conflict

3. Example details innodb_autoinc_lock_mode in mysql

4. Detailed example of adding new user permissions in MySQL

##5.

How does Linux detect server network conditions

The above is the detailed content of What should I do if garbled characters appear when decompressing a zip file under Linux?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn