成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux漢字亂碼解決辦法(數(shù)據(jù)庫(kù)插入、服務(wù)器上傳)

系統(tǒng) Linux
在Linux下,你有沒(méi)有這樣的經(jīng)歷,文本文件里面的漢字顯示都是正常的,可一插到數(shù)據(jù)庫(kù)里就變成了亂碼;文件名在本機(jī)顯示都很正常,一傳到服務(wù)器上顯示的都變成亂碼了。在本文中,來(lái)自阿里巴巴數(shù)據(jù)倉(cāng)庫(kù)部門(mén)的zhenzhong.renzz分享了這個(gè)問(wèn)題的解決辦法參考。

51CTO編輯注:本文來(lái)自阿里巴巴數(shù)據(jù)倉(cāng)庫(kù)部門(mén)的團(tuán)隊(duì)對(duì)外宣傳和技術(shù)溝通博客alidw.com。

在Linux下,你有沒(méi)有這樣的經(jīng)歷,文本文件里面的漢字顯示都是正常的,可一插到數(shù)據(jù)庫(kù)里就變成了亂碼;文件名在本機(jī)顯示都很正常,一傳到服務(wù)器上顯示的都變成亂碼了,最近就差點(diǎn)被這個(gè)問(wèn)題搞死,***還算小有收獲,這里寫(xiě)一下心得:

1,首先要知道文件自己的編碼方式,就是文件是以u(píng)tf8還是以gbk等編碼方式存儲(chǔ)的,因?yàn)檫@是根本。以xxx.dat文件為例

用vi命令打開(kāi)xxx.dat文件

在命令行模式:輸入set fileencoding 這時(shí)會(huì)在終端的底部顯示文件的編碼方式,顯示的結(jié)果如果是cp936(等同于gbk)或者utf8等,那說(shuō)明文件的編碼方式已經(jīng)被正確判斷出來(lái)了,如果是latin1,我們就可能要設(shè)定VI的fileencodings這個(gè)環(huán)境變量的值,打開(kāi)vimrc這個(gè)文件,RHEL的這個(gè)文件在/etc目錄下、Ubuntu在/etc/vim目錄下;或者你也可以建一個(gè)~/.vimrc文件

然后把里面merge成:set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 然后重新vi xxx.dat

PS:我們打開(kāi)文件的時(shí)候, VIM 按順序使用 fileencodings 中的編碼進(jìn)行嘗試解碼, 如果成功的話, 就使用該編碼方式進(jìn)行解碼, 并將 fileencoding 設(shè)置為這個(gè)值, 如果失敗的話, 就繼續(xù)試驗(yàn)下一個(gè)編碼。而latin1 是一種非常寬松的編碼方式, 任何一種編碼方式得到的文本, 用 latin1 進(jìn)行解碼, 都不會(huì)發(fā)生解碼失敗 —— 當(dāng)然, 解碼得到的結(jié)果自然也就是理所當(dāng)然的“亂碼”

2,下一個(gè)比較重要的就是LANG這個(gè)環(huán)境變量了(關(guān)于這個(gè)變量的含義和作用自己百度,可以搜出一堆)

假如xxx.dat是以u(píng)tf8編碼,往數(shù)據(jù)庫(kù)里插的時(shí)候,我們就需要把LANG這個(gè)環(huán)境變量設(shè)成LANG=zh_CN.utf8,如果xxx.dat是以cp936、LANG就需要設(shè)成LANG=zh_CN.gbk

這樣在插入的時(shí)候,就不需要用程序?qū)ξ募淖址M(jìn)行轉(zhuǎn)換,可以直接插入

PS:用locale -a命令查看可以把LANG設(shè)成哪些值,locale -m 查看系統(tǒng)支持哪些字符集,假如locale -a沒(méi)有你所需要的值,比如zh_CN.gbk,那就需要手動(dòng)安裝,安裝方法也很簡(jiǎn)單

a. sudo cp /var/lib/locales/supported.d/local /var/lib/locales/supported.d/local.old【可選,備份】

b. sudo cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local

編輯/var/lib/locales/supported.d/local去掉大多數(shù)不用的行(locales)

c. sudo dpkg-reconfigure locales

編輯/etc/environment文件,設(shè)置一下要用的LANG

也可以用locale-gen命令設(shè)置默認(rèn)的locale,如sudo locale-gen zh_CN.UTF-8

3,還有一個(gè)同事,LANG環(huán)境變量(這里要注意環(huán)境變量生效的范圍)也已經(jīng)改過(guò)了,把windows的文件重新傳到了Linux服務(wù)器上,通過(guò)網(wǎng)頁(yè)瀏覽,文件名仍然是亂碼,這是因?yàn)長(zhǎng)ANG還未在apache服務(wù)器上生效,重啟一下apache服務(wù)就可以了

原文:http://www.alidw.com/?p=1643

【編輯推薦】

  1. 解決戶端連接CentOS系統(tǒng)亂碼問(wèn)題
  2. Linux操作系統(tǒng)下linux命令亂碼的***解決方案
  3. 新手看招:解決Ubuntu系統(tǒng)光盤(pán)的亂碼問(wèn)題
責(zé)任編輯:yangsai 來(lái)源: alidw.com
相關(guān)推薦

2018-10-16 09:28:43

網(wǎng)站服務(wù)器故障

2009-06-03 16:41:21

Eclipse亂碼Eclipse

2018-10-24 10:56:59

網(wǎng)站服務(wù)器故障安全

2011-04-19 11:41:03

Access數(shù)據(jù)庫(kù)

2009-07-27 13:38:10

服務(wù)器變慢 Ping

2009-09-17 14:11:53

2020-04-21 10:00:00

Java服務(wù)器進(jìn)程

2017-06-09 10:16:40

2010-03-03 13:24:08

連接Windows遠(yuǎn)程

2016-09-23 18:32:42

iTunesIOS 10蘋(píng)果

2010-02-03 16:07:07

Ubuntu Auda

2018-09-12 08:44:43

2012-05-07 16:55:21

Putty遠(yuǎn)程連接Linux

2011-03-31 14:14:37

SQL Server 數(shù)據(jù)庫(kù)批量更新

2009-09-24 13:36:49

打印服務(wù)器

2015-11-30 12:02:25

DNS服務(wù)器

2011-03-23 16:15:08

web服務(wù)器啟動(dòng)項(xiàng)目

2009-11-30 10:55:16

PHP頁(yè)面亂碼

2010-05-17 17:45:54

MySQL亂碼問(wèn)題

2009-11-16 13:24:34

Oracle數(shù)據(jù)庫(kù)服務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 天天综合成人网 | 极品电影院 | 欧美三级电影在线播放 | 逼逼网 | 亚洲一区二区成人 | 亚洲国产网站 | 奇米超碰在线 | 亚洲欧美日韩精品久久亚洲区 | 亚洲精品久久久久久久久久久 | 久久九七| 欧美一区二区三区视频 | 久久国产欧美日韩精品 | 一级二级三级在线观看 | 一区观看 | 三级av网址 | 欧美激情精品久久久久 | 99国产精品99久久久久久 | 国产精品国产三级国产a | 国产黄色av网站 | 成年人在线视频 | 久久精品久久久久久 | 国产激情视频在线观看 | 久久精品视频网站 | 欧美一级淫片007 | 久久久久久国产精品免费免费男同 | 久久精品亚洲精品国产欧美kt∨ | 一二三区av | 国产精品18hdxxxⅹ在线 | 精品日韩在线 | 国产精品污www一区二区三区 | 久久精品亚洲国产奇米99 | 一级免费看 | 婷婷色国产偷v国产偷v小说 | 日本福利视频免费观看 | 午夜影院在线 | 久久国内 | 亚洲一av | aaaa网站 | 久久久网| 欧美色影院 | 日本黄色大片免费 |