真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux轉(zhuǎn)字符集的命令 linux 字符集轉(zhuǎn)換

linux iconv怎樣將utf-8轉(zhuǎn)換ascii 字符集

在Linux中查看文件編碼可以通過以下幾種方式:

十多年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對(duì)辦公窗簾等多個(gè)行業(yè),擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn)。

1.在Vim中可以直接查看文件編碼

:set fileencoding

即可顯示文件編碼格式。

如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那么你可以在

~/.vimrc 文件中添加以下內(nèi)容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

這樣,就可以讓vim自動(dòng)識(shí)別文件編碼(可以自動(dòng)識(shí)別UTF-8或者GBK編碼的文件),其實(shí)就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開。

2. enca (如果你的系統(tǒng)中沒有安裝這個(gè)命令,可以用sudo yum install -y enca 安裝 )查看文件編碼

$ enca filename

filename: Universal transformation format 8 bits; UTF-8

CRLF line terminators

需要說明一點(diǎn)的是,enca對(duì)某些GBK編碼的文件識(shí)別的不是很好,識(shí)別時(shí)會(huì)出現(xiàn):

Unrecognized encoding

文件編碼轉(zhuǎn)換

1.在Vim中直接進(jìn)行轉(zhuǎn)換文件編碼,比如將一個(gè)文件轉(zhuǎn)換成utf-8格式

:set fileencoding=utf-8

2. enconv 轉(zhuǎn)換文件編碼,比如要將一個(gè)GBK編碼的文件轉(zhuǎn)換成UTF-8編碼,操作如下

enconv -L zh_CN -x UTF-8 filename

3. iconv 轉(zhuǎn)換,iconv的命令格式如下:

iconv -f encoding -t encoding inputfile

比如將一個(gè)UTF-8 編碼的文件轉(zhuǎn)換成GBK編碼

iconv -f GBK -t UTF-8 file1 -o file2

linux怎么看文件的字符集編碼

Linux 下查看文件字符編碼和轉(zhuǎn)換編碼 如果你需要在 Linux 中操作 windows 下的文件,那么你可能會(huì)經(jīng)常遇 到 文 件 編 碼 轉(zhuǎn) 換 的 問 題 。 Windows 中 默 認(rèn) 的 文 件 格 式 是 GBK(gb2312),而 Linux 一般都是 UTF-8。下面介紹一下,在 Linux 中如何查看文件的編碼及如何進(jìn)行對(duì)文件進(jìn)行編碼轉(zhuǎn)換。

一,查看文件編碼: 在 Linux 中查看文件編碼可以通過以下幾種方式:

1.在 Vim 中可以直接查看文件編碼 :set fileencoding 即可顯示文件編碼格式。 如果你只是想查看其它編碼格式的文件或者想解決用 Vim 查看文件亂 碼的問題,那么你可以在 ~/.vimrc 文件中添加以下內(nèi)容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 這樣, 就可以讓 vim 自動(dòng)識(shí)別文件編碼 (可以自動(dòng)識(shí)別 UTF-8或者 GBK 編碼的文件) ,其實(shí)就是依照 fileencodings 提供的編碼列表嘗試,如 果沒有找到合適的編碼,就用 latin-1(ASCII)編碼打開。

2. enca (如果你的系統(tǒng)中沒有安裝這個(gè)命令,可以用 sudo yum install -y enca 安裝 )查看文件編碼 $ enca filename filename: Universal transformation format 8 bits; UTF-8 CRLF line terminators 需要說明一點(diǎn)的是,enca 對(duì)某些 GBK 編碼的文件識(shí)別的不是很好,識(shí) 別時(shí)會(huì)出現(xiàn): Unrecognized encoding

二,文件編碼轉(zhuǎn)換

1.在 Vim 中直接進(jìn)行轉(zhuǎn)換文件編碼,比如將一個(gè)文件轉(zhuǎn)換成 utf-8格式 :set fileencoding=utf-8

2. iconv 轉(zhuǎn)換,iconv 的命令格式如下:輸入/輸出格式規(guī)范: -f, --from-code=名稱 原始文本編碼 -t, --to-code=名稱 輸出編碼 信息: -l, --list 列舉所有已知的字符集 輸出控制: -c 從輸出中忽略無效的字符 -o, --output=FILE 輸出文件 Svn8.Com -s, --s ilent 關(guān)閉警告 --verbose 打印進(jìn)度信息 -?, --help 給出該系統(tǒng)求助列表 --usage 給出簡(jiǎn)要的用法信息 -V, --version 打印程序版本號(hào) 例子: iconv -f utf-8 -t gb2312 aaa.txt bbb.txt 這個(gè)命令讀取 aaa.txt 文件,從 utf-8編碼轉(zhuǎn)換為 gb2312編碼,其輸出定向到 bbb.txt文件。 iconv -f encoding -t encoding inputfile 比如將一個(gè) UTF-8 編碼的文件轉(zhuǎn)換成 GBK 編碼 iconv -f GBK -t UTF-8 file1 -o file2

3. enconv 轉(zhuǎn)換文件編碼 比如要將一個(gè) GBK 編碼的文件轉(zhuǎn)換成 UTF-8編碼,操作如下 enconv -L zh_CN -x UTF-8 filename

如何在Linux系統(tǒng)實(shí)現(xiàn)字符編碼轉(zhuǎn)換

Linux下提供了iconv實(shí)現(xiàn)這一功能,在Linux 的 shell 環(huán)境下,iconv用法如下:

iconv -f fromconde -t tocode

-f: 指定需要轉(zhuǎn)換的文本編碼

-t: 指定目標(biāo)文本編碼

我們也可以用 -l 列舉出所有已知的字符編碼集合

iconv -l

具體用法可以通過幫助函數(shù) iconv --help來詳細(xì)了解

另外,我們也可以在程序中直接使用該函數(shù)實(shí)現(xiàn)文本的編碼轉(zhuǎn)換

#ifndef __CODE_CONVERTER

#define __CODE_CONVERTER

#ifdef WIN32

#include windows.h

#else

#include iconv.h

#endif

class CodeConverter

{

private:

#ifndef WIN32

iconv_t m_cd;

#endif

const char* m_pszFromCode;

const char* m_pszToCode;

public:

CodeConverter()

{

m_pszFromCode = NULL;

m_pszToCode = NULL;

#ifndef WIN32

m_cd = 0;

#endif

}

~CodeConverter()

{

#ifndef WIN32

iconv_close(m_cd);

#endif

}

bool Initialize(const char *pszToCode, const char *pszFromCode);

size_t Convert(char* inBuf, size_t inBytesLeft, char* outBuf, size_t outBytesLen);

};

#endif

#include string.h

#include stdlib.h

#include stdio.h

#include "code_converter.h"

#include errno.h

bool CodeConverter::Initialize(const char* pszToCode, const char* pszFromCode)

{

if(pszFromCode == NULL || pszToCode == NULL) return false;

m_pszFromCode = pszFromCode;

m_pszToCode = pszToCode;

#ifndef WIN32

m_cd = iconv_open(m_pszToCode,m_pszFromCode);

if(m_cd == (iconv_t)-1)

{

printf("cannot open iconv descripter\n");

return false;

}

#endif

return true;

}

size_t CodeConverter:: Convert(char* inBuf, size_t inBytesLeft, char* outBuf, size_t outBytesLen)

{

int nRealLen = 0;

#ifdef WIN32

if(stricmp(m_pszFromCode,"UNICODE") == 0)

{

nRealLen = WideCharToMultiByte(CP_ACP,0,(PWCHAR)inBuf, inBytesLeft, (PCHAR)outBuf, outBytesLen,NULL,NULL);

}

if(stricmp(m_pszFromCode,"gb2312") == 0)

{

nRealLen = MultiByteToWideChar(CP_ACP,0,(PCHAR)inBuf,inBytesLeft,(PWCHAR)outBuf, outBytesLen);

}

#else

size_t outBytesLeft = outBytesLen;

size_t ret = 0;

while (1)

{

ret = iconv(m_cd, inBuf, inBytesLeft, outBuf, outBytesLeft);

if (ret == 0) break;

if (ret == (size_t)-1)

{

printf("iconv error aaa: %s\n",strerror(errno));

return -1;

}

inBuf++; inBytesLeft--;

}

nRealLen = outBytesLen-outBytesLeft;

outBuf[nRealLen]=0;

#endif

return nRealLen;

}

linux怎么修改字符集

可直接進(jìn)入 mysql 進(jìn)行更改,具體如下:

1.查找/etc目錄下是否有my.cnf文件;

#ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)

2.如果沒有就要從/usr/share/mysql,拷貝一個(gè)到/etc 下,在/usr/share/mysql目錄下有五個(gè)后綴為.cnf的文件,分別是 my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf ;從中隨便拷貝一個(gè)到/etc目錄下并將其改為my.cnf文件,我選擇的是my-medium.cnf :

#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

3.修改my.cnf文件,在該文件中的三個(gè)地方加上 default-character-set=utf8([client] [mysqld] [mysql])

#vi /etc/my.cnf

修改如下:(紅色為添加部分)

[client]

#password = your_password

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

skip-locking

key_buffer = 16M

max_allowed_packet = 1M

table_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

default-character-set=utf8

init_connect='SET NAMES utf8' //此行可不加

[mysql]

no-auto-rehash

default-character-set=utf8

保存退出;

4.重起MySQL服務(wù)器,使其設(shè)置的內(nèi)容生效

#/etc/init.d/mysql restart

5. 重新登入mysql;

# mysql -u root - p

#(輸入密碼)

mysql show variables like 'character_set%' ;

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |(都生成了utf8,成功了 哈哈哈)

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

mysql啟動(dòng)和停止 操作 :

可以通過 #/etc/init.d/mysql [start | stop | restart](實(shí)現(xiàn)啟動(dòng),停止,重啟)

也可以通過 #service mysql [start | stop | restart](實(shí)現(xiàn)啟動(dòng),停止,重啟)

*********************************

另外:如果在修改字符集前,嘗試在數(shù)據(jù)庫中插入中文,那么當(dāng)修改了字符集后,在你所插入中文的數(shù)據(jù)庫中(在別的數(shù)據(jù)庫中可能沒問題),

通過show variables like 'character_set%'查詢的結(jié)果可如下:

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

如何改變Linux系統(tǒng)語言/字符集

改變r(jià)edhat的系統(tǒng)語言/字符集修改 /etc/sysconfig/i18n 文件,如

LANG="en_US",xwindow會(huì)顯示英文界面,

LANG="zh_CN.GB18030",xwindow會(huì)顯示中文界面。

還有一種方法

cp /etc/sysconfig/i18n $HOME/.i18n

修改 $HOME/.i18n 文件,如

LANG="en_US",xwindow會(huì)顯示英文界面,

LANG="zh_CN.GB18030",xwindow會(huì)顯示中文界面。

這樣就可以改變個(gè)人的界面語言,而不影響別的用戶

(Debian不支持GB18030(RH的zysong字庫是有版權(quán)的)

現(xiàn)在好像沒有Free的GBK和GB18030字庫

vi .bashrc

export.GB2312

export LC_ALL=zh_CN.GB2312)


當(dāng)前名稱:linux轉(zhuǎn)字符集的命令 linux 字符集轉(zhuǎn)換
文章分享:http://weahome.cn/article/hijpgj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部