linux資料庫亂碼
根據你的問題,資料庫不在自己手邊。
那首先要調查清楚,數據表的編碼,看清,不是資料庫,是表,表的字元集編碼。
然後往前順。
然後再java程序中轉碼,保證寫到sql中的數據是以該數據表所用的字元集編碼的就好了。
亂碼出現在不同部分的通信之間
一個系統中,通常是在顯式輸入中文的地方發生轉碼錯誤。
比如,servlet處理從瀏覽器傳來的數據的時候,
從資源文件讀取數據的時候。
在程序中顯式地硬編碼字元串中文字面值的時候。
從別人的資料庫讀取數據的時候。
這些地方經常會跟之後的系統編碼不一致,所以在這些地方使用字元串數據的時候,就要轉碼。
資源文件,可以用文本工具保存成需要的編碼。
對於request中的數據,可以在正式處理之前加
過濾器。
對於別的資料庫,可以設一個專門的過濾類來轉碼。
⑵ 解決客戶端連接Linux伺服器中文顯示亂碼問題
客戶端連接Linux伺服器中文顯示亂碼,如下圖所示:
字元亂碼問題 :如果伺服器本身支持中文,只是客戶端顯示亂碼,通常就是
客戶端字元集與伺服器字元集不一致造成的。把客戶端字元集改成伺服器字元集就可以解決的。但是像 SSHSecureShellClient-3.2.9.exe 客戶端沒有設置字元集的地方,就需要把字元集改為zh_CN.GB18030才能正確顯示中文:
export LC_CTYPE=zh_CN.GB18030
export LC_ALL=zh_CN.GB18030
export LANG=zh_CN.GB18030
設置完就解決了客戶端連接Linux系統中文顯示亂碼的問題。
註:每次使用客戶端連接Linux伺服器時,都需要手動改一下字元集。
⑶ 如何解決 linux 的亂碼問題
出現這種情況的原因為兩種操作系統的中文壓縮方式不同,在windows環境中中文壓縮一般為gbk,而在linux環境中為utf8,這就導致了在windows下能正常顯示
txt文件在linux環境下打開呈現了亂碼狀態。
解決方法:在linux用iconv命令,輸入命令如下
iconv -f gbk -t utf8 file.pdf > file.pdf.utf8
此時會重生一file.utf8文件,打開之後就能正常顯示中文
linux系統下修改語言配置方法有:
法一:修改/etc/profile文件,增加export LANG=zh_CN.GB18030
法二:修改/etc/sysconfig/i18n文件,將
#LANG="en_US.UTF-8"
#SUPPORTED="en_US.UTF-8:en_US:en"
#SYSFONT="latarcyrheb-sun16"
改為
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
/etc/profile: 為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.
/etc/sysconfig/i18n 這里存放的是系統的區域語言設置
LANG 表明你當前系統的語言環境變數設置 ,這里是 zh_CN.GB18030
SUPPORTED 表明系統預置了那些語言支持 ,不在項目中的語言不能正常顯示
SYSFONT 定義控制台終端字體,你文本登錄的時候顯示的字體是 latarcyrheb-sun16
I18N 是 internationalization 的縮寫形式,意即在 i 和 n 之間有 18 個字母,本意是指軟體的「國際化」.I18N支持多種語言,不過同一時間只能是英文和一種選定的語言,例如英文+中文、英文+德文、英文+韓文等等;
如果在SCRT上操作時中文亂碼,可依次點擊options--session options--appearance,選擇character encoding為UTF-8
⑷ linux終端查看資料庫內容,亂碼怎麼解決
如果是圖形界面下的虛擬終端,設置(根據不同的 shell 修改不同的環境參數配置文件,如 bash 就修改 .bashrc 文件或 .bash_profile 文件)
1
export LANG=zh_CN.UTF-8
如果是遠程登錄(比如使用 ssh 登錄),則根據你的客戶端的環境進行設置,一個可能的方案是:
1
export LANG=zh_CN.GB18030
locale 看看你的當前是什麼語言顯示然後
1
vi /etc/sysconfig/<a href="https://www..com/s?wd=i18n&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">i18n</a>
一般情況下linux伺服器都是配置utf-8,不使用中文的。
⑸ linux文件顯示中文亂碼怎麼解決
在linux上一般使用utf8編碼。 如果打開文件是亂碼,要設置utf8編碼,看看自己用的是什麼編輯器。 如果是vim則使用 set encoding=utf8即可 如果是gedit,則重新另存一下,在存儲窗口 設置為utf8編碼 ,在打開即可。
⑹ linux顯示中文亂碼怎麼解決
Linux中文顯示不正常大多是終端字元集設置的不對,因為終端屏幕顯示信息是以設置的語言來顯示的,如果語言是英文或者其他編碼語言設置,顯示中文時就是亂碼。設置終端字元集需要設置LANG這個環境變數,設置方法是在終端輸入LANG=zh_CN.UTF-8,設置好LANG變數後,再在終端上用ls命令查看一下帶有中文的文件名應該就有效果了。
如果經過上面的設置後,用ls命令可以正常列出中文文件名了,那就最好將LANG=zh_CN.UTF-8這一行添加到~/.bashrc這個配置文件中,然後執行命令:source ~/.bashrc,使配置文件的設置馬上生效,這樣終端就被完美的設置成UTF-8中文編碼了。
⑺ Linux系統終端字體亂碼(非管理員賬戶操作指南)
問題:使用一台Linux系統的機器,終端總是顯示有亂碼,不是中文亂碼,看起來像是英文亂碼,我這強迫症又受不了了
解決方案:
Linux字元編碼默認為UTF-8,如果出現英文亂碼有可能是系統設置的編碼方式為GBK。
設置locale的根本就是設置一組總共12個LC開頭的變數,不包括LANG和LC_ALL。
優先 級:LC_ALL > LC_* > LANG
可以看出原系統設置的為中文字體顯示和運行的語言環境,所有的設置都是使用的 zh_CN.gbk ,因中英文字元編碼方式不同,可能造成英文字元或者空格顯示有亂碼。
5.退出後再次查看locale(再次登錄才生效)
亂碼的字元消失了。locale轉變為:
⑻ linux中文文件顯示亂碼怎麼解決
Linux文件名、文件內容亂碼,主要原因是windows上的中文編碼默認是GBK,而Linux默認中文編碼為UTF-8,由於編碼不一致,所以導致亂碼問題。 為了解決這個亂碼,需要對文件進行轉碼,具體如下: 1、前提保證已安裝了convmv; 2、具體convmv的用法: Convmv –f 源編碼 –t 新編碼 [選項] 文件名 一般常用參數: -r 遞歸處理子目錄 --notest 真正進行操作,默認情況下是不對文件進行真實操作的,只是一個預覽 --list 顯示所有支持的編碼 --unescap 可以做一個轉義 3、比如我們有一個utf8的文件名,要求轉換成gbk編碼,命令如下: Convmv –f utf-8 –t gbk –notest 文件名 也可以使用linux下最好用的編碼轉換工具iconv來進行轉碼操作。 例子:將GBK編碼的文件轉換成UTF-8 iconv -f GBK -t UTF-8 gbkfile.txt > utf8file.txt