Linux下的亂碼問題

Unbuntu中文亂碼問題

全部的亂碼問題都是編碼不統一的問題,要解決編碼問題,就要了解自己的鏈接方式。shell

[TOC]ubuntu

終端亂碼

1.判斷環境

xshell -> 終端 -> ubuntuvim

因此亂碼問題則出如今 xshell 與終端 編碼配置不一致上。bash

2. 查看編碼

首先查看 xshell 編碼:編碼

Properties -> Terminal -> Encoding -> Unicode(UTF-8)

xshell編碼 UTF-8code

在終端執行 locale 查看編碼:utf-8

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查看是否已修改


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

  • export : 暫時性,從新登陸就失效

  • 寫入 ~/.bashrc : 長久性,只對當前用戶生效

  • 寫入 /etc/profile ;長久性,對全部用戶生效

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

注意:後兩種修改方式須要從新登陸或者執行 sourcr ~/.bashrc(/etc/profile)纔可生效

vim亂碼

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 有兩種方式(文件不存在就建立一個新的)

  • ~/.vimrc : 長久性,當前用戶生效

  • /etc/vim/vimrc : 長久性,全部用戶生效

相關文章
相關標籤/搜索