Linux下的亂碼問題

2021-09-19 08:25:44 字數 1359 閱讀 8635

所有的亂碼問題都是編碼不統一的問題,要解決編碼問題,就要了解本身的連線方式。

[toc]

1.判斷環境

xshell -> 終端 -> ubuntu

所以亂碼問題則出現在 xshell 與終端 編碼配置不一致上。

2. 檢視編碼

首先檢視 xshell 編碼:

properties -> terminal -> encoding -> unicode(utf-8)
xshell編碼 utf-8

在終端執行 locale 檢視編碼:

lc_all="zh_cn.gbk"
終端編碼 gbk

3.修改環境變數

export lc_all=zh_cn.utf-8寫入檔案/etc/profile

執行source /etc/profile

注意: 如果執行source /etc/profile出現如下錯誤:

/bin/bash: warning: setlocale: lc_all: cannot change locale (zh_cn.utf-8)
先安裝zh_cn.utf-8,執行locale-gen zh_cn.utf-8,再使用locale檢視是否已修改

修改環境變數有三種方式 :

bash(終端)的環境變數讀入順序 /etc/profile -> ~/.bashrc -> export (後者會覆蓋前者設定)

注意:後兩種修改方式需要重新登入或者執行sourcr ~/.bashrc(/etc/profile)才可生效

1. 連線方式

xshell -> terminal -> vim

2. 修改配置檔案

需要vim的編碼方式與terminal(終端)統一,在vim的配置檔案~/.vimrc 寫入:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936  # 讀入的檔案編碼,因為無法確定檔案編碼,所以要全寫上

set termencoding=utf-8 #在終端顯示時的編碼,需與終端一致

set encoding=utf-8 #vim本身的編碼,預設為utf-8

修改.vimrc 有兩種方式(檔案不存在就建立乙個新的)

linux下亂碼問題總結

linux下出現亂碼,一般都是語言和編碼的設定有問題,分為以下幾種情況。1.terminal亂碼 使用者根目錄下建立.bash profile檔案,檔案末尾加入以下內容,重新開啟terminal即可 export lc all zh cn.gbk export lang zh cn.gbk 注意 命...

Linux下VIM中文亂碼問題

客戶端編碼的檢視與配置方法各有差異,以xshell5為例,只要在配置中修改終端 編碼為utf 8即可。終端編碼可通過如下命令檢視 locale charmap如果不是utf 8的話,可以通過修改環境變數lang和lc all來修改,將如下兩行新增進.bashrc檔案中。export lang en ...

linux環境下Oracle亂碼問題

oracle問題 今天將資料匯入另外一台linuxredhat5.5伺服器上的oracle oracle10 時出現亂碼,後來用sqlplus往資料庫中插入資料還是亂碼。從網上蒐集了一些資料。整理了一下發布出來,解決該問題分以下幾步 1 檢視資料庫服務字符集 伺服器端字符集,sql select f...