English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Concetto di soluzione del problema di encoding sbagliato in Linux

Il contenuto del nome del file nel sistema linux è codificato in utf8, il nome del file di default nel sistema windows è codificato in gbk, la maggior parte dei documenti utilizza la codifica gbk, il sistema utilizza la codifica utf8

Disorder di codifica causato dalla mancanza di input method cinese

1. Input method ibus

Il sistema operativo Ubuntu è stato installato con l'input method ibus, che non è attivato per default nell'ambiente inglese. Per configurare l'avvio automatico di ibus, seleziona System --- Preferences --- Startup Applications nel menu del sistema di ubuntu e aggiungi un programma:

Name: ibus-daemon
Command: ibus-daemon -d -x -r

L'input method cinese fornito per default da ibus è piuttosto debole, è necessario installare extra ibus-pinyin, il comando è il seguente:

sudo apt-get install ibus-pinyin

In questo momento, è necessario avviare anche l'input method ibus-pinyin. Seleziona System --- Preferences --- Preferenze di IBus nel menu del sistema di ubuntu, seleziona Chinese – Pinyin nella casella a discesa "Select an input method" della pagina Input Method, che ha un'icona con una grande "pin" nel simbolo, quindi fai clic sul pulsante Add e infine sposta l'input method con il pulsante Up per posizionarlo in alto. Dopo il riavvio del sistema, puoi attivare l'input method ibus con Ctrl + spazio. L'input method ibus è generalmente buono, ma nel mio ambiente non è possibile attivarlo in alcuni programmi Java, come Netbeans, OpenProj.

2. Input method fcitx

A causa dei difetti di ibus, ho provato fcitx, che si utilizza molto bene e può essere utilizzato correttamente nei programmi Java, anche se in questo caso c'è un problema con il seguimento del cursore, l'interfaccia di input si ferma nella parte inferiore dello schermo, ma è accettabile, molto meglio rispetto a ibus che non può essere utilizzato.

Installare fcitx:

sudo apt-get install fcitx

Start fcitx:

im-switch -s fcitx

Log out and log in again, fcitx will take effect. If you need to switch back to ibus, run im-switch -s ibus, then log out and log in again. fcitx can also be called up with Ctrl + space, at this time you will find that the Chinese displayed by fcitx is a box, so you need to modify fcitx's configuration. Fcitx's configuration file is ~/.fcitx/config, this file is GBK encoded and does not display normally in Ubuntu, you can operate as follows:

cd ~/.fcitx
iconv -f gbk -t utf8 config > config.tmp

Edit the config.tmp file:

Font displayed (Chinese) = WenQuanYi Micro Hei

Font size displayed = 10

Use bold = 0

Save and exit, then run the command:

iconv -f utf8 -t gbk config.tmp > config

Log out and log in again, fcitx will display normally.

For the problem of Chinese character garbled in Soogou input candidates, first run

sudo apt-get install fcitx-module-kimpanel

Then log out or restart, usually it's okay

What is the difference between utf8 and UTF-8?

"UTF-8" is the standard notation, in Windows the English is not case-sensitive, so it can also be written as "utf-8". "UTF-8" can also omit the middle "-" and be written as "UTF8". Generally, programs can recognize it, but there are exceptions (as shown below). For strictness, it is better to use the standard uppercase "UTF-8". Only in MySQL can the alias "utf8" of "UTF-8" be used, but in other places it must be uppercase "UTF-8".

Solution to display Chinese characters as boxes in Flash on web pages

Edit the file /etc/fonts/conf.d/49-sansserif.conf and make the following changes:

<edit name="family" mode="append_last">
<string>WenQuanYi Micro Hei</string>
</edit>

Solution to display Chinese characters as boxes in Java programs

In directory $JAVA_HOME/jre/lib/fonts create fallback directory, copy (or link) Chinese font files to fallback directory.

sudo mkdir $JAVA_HOME/jre/lib/fonts/fallback
sudo ln /usr/share/fonts/truetype/wqy/wqy-microhei.ttc $JAVA_HOME/jre/lib/fonts/fallback/

“Reference di codifica GBK”, riferimento

L'aspetto della codifica errata è simile a:

à??ü òá??à3?£???1,°2à??ü òá??à3?£???1

Soluzione:

convmv -r -f utf8 -t iso88591 --notest --nosmart * && convmv -r -f gbk -t utf8 --notest --nosmart * # Copiare i file di nomi con codifica errata in una directory vuota e eseguire (così non si preoccupa se va male):

“Reference di codifica ascii”, riferimento

L'aspetto della codifica errata è simile a:

%E5%8C%BB%E4%BF%9D

Soluzione:

1. Utilizzare il codice uni2ascii: echo testo con codifica errata | ascii2uni -a J

2. Installare nautilus-filename-repairer0.06 (esiste il codice sorgente ufficiale, ma ci sono problemi di dipendenza, non ho ancora avuto successo nell'installazione, e la versione 0.05 ha un piccolo problema di collaborazione con il Nautilus attuale, è possibile solo visualizzare e non renominare)

3. Scaricare con chromeplus-1.3.3.1 (poiché questo tipo di codifica errata si verifica principalmente dopo aver scaricato i file dal gruppo QQ utilizzando ff (utf8 predefinito) e non ci sono problemi con chromeplus (GBK predefinito))

Inoltre, per il problema di codifica errata dei contenuti dei file, è possibile cercare enca.

Risoluzione del problema di codifica errata di Rhythmox:

Installare Rhythmox: sudo apt-get install rhythmbox

Installare mid3iconv: sudo apt-get install python-mutagen

mid3iconv -h

Problema di codifica errata di Clementine

Installare mid3iconv: sudo apt-get install python-mutagen

mid3iconv -h

Clementine non supporta utf8, è necessario convertire tutti i brani mp3 in formato gbk, sembra che wma non richieda la conversione

mid3iconv -e gbk *.mp3 (dato che non può essere utilizzato il parametro -r, è necessario accedere a ciascuna cartella di volta in volta)

Inoltre, clementine utilizza gstreamer come backend, è necessario installare i plugin di gstreamer:

Per supportare mp3, è necessario installare gstreamer-0.10-plugins-bad e gstreamer-0.10-plugins-ugly

Per supportare wma, è necessario installare gstreamer-0.10-ffmpeg

Se si desidera supportare i flussi mms, è necessario installare i plugin gstreamer per mms

Inoltre, Clementine è basato su Amarok, quindi gli estensioni di Amarok sono generalmente supportate anche da Clementine, ad esempio osdlyrics.

Convertire la codifica del contenuto del file:

file -i <nomefile> per rilevare la codifica del file
iconv --help

Convertire la codifica dei nomi dei file

sudo apt-get install convmv
convmv --help
convmv -f gbk -t utf8 -r --notest files
convmv -r -f utf8 -t iso88591 * --notest --nosmart && convmv -r -f gbk -t utf8 * --notest --nosmart

Risolvere il problema di codifica errata di gedit:

gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"
gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"

Risolvere la codifica errata dei PDF in cinese:

sudo apt-get install poppler-data

Risolvere la codifica errata dei file rar

Usare rar

Decomprimere file zip con codifica errata

Recentemente ho incontrato questo problema, ho cercato in rete e tutto era su unzip -O, non ha funzionato per nulla, questi ragazzi probabilmente lo hanno copiato direttamente, non l'hanno mai usato. Successivamente ho trovato una soluzione definitiva, utilizzare uno script python per decomprimere, ho provato e funziona veramente!!! Di seguito è riportato il codice dello script python, creare un file chiamato jieya.py e scrivere il seguente codice:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import zipfile
print "Processing File " + sys.argv[1]
file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
utf8name=name.decode('gbk')
print "Estrazione " + utf8name
pathname = os.path.dirname(utf8name)
if not os.path.exists(pathname) and pathname!= "":
os.makedirs(pathname)
data = file.read(name)
if not os.path.exists(utf8name):
fo = open(utf8name, "w")
fo.write(data)
fo.close
file.close()

Poi metti il file zip e jieya.py nella stessa directory, esegui il comando python jieya.py file.zip, è fatto!

Soluzione al problema dei caratteri sbagliati dei sottotitoli in smplayer

Apri le opzioni -》Preferenze: seleziona la scheda dei sottotitoli.

Trova l'opzione "Codifica di caratteri predefinita" e seleziona "Cinese semplificato (cp936)" dalla casella a discesa

Apri la scheda "Caratteri" (sopra), seleziona "Caratteri di sistema" e scegli un tipo di carattere cinese semplificato dalla casella a discesa, come Weu Quanyi Zen Hei.

Il nome del file visualizzato nel riproduttore VLC è in codifica sbagliata

Modifica un tipo di carattere che supporta il cinese iniziale

Di seguito è riassunto la soluzione al problema dei caratteri sbagliati nel sistema Linux che ho introdotto, spero possa essere utile a tutti. Se avete qualsiasi domanda, lasciate un commento e sarò felice di rispondere tempestivamente. Inoltre, ringrazio vivamente tutti i sostenitori del sito di tutorial di urla!

Ti potrebbe interessare