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 : 长久性,全部用户生效

相关文章
相关标签/搜索