Unbuntu中文乱码问题

所有的乱码问题都是编码不统一的问题,要解决编码问题,就要了解本身的连接方式。

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


修改环境变量有三种方式 :

  • 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 : 长久性,所有用户生效


Jinl
38 声望1 粉丝

引用和评论

0 条评论