1. 程式人生 > >linux下crontab執行java中文亂碼問題

linux下crontab執行java中文亂碼問題

最近在伺服器上執行java檔案,手動執行shell指令碼沒問題,中文顯示正常。但是加入crontab任務之後,中文就變成亂碼(?)。

網上查詢各種方法後發現:這是由於加入crontab後字符集會變為linux的root環境下的字符集。

在伺服器輸入echo $LANG可以得到字符集為

zh_CN.GB18030
而java預設的字符集應該是UTF-8,這樣就導致了中文亂碼問題。

解決方法:

shell指令碼執行java的時候直接指定encoding,與伺服器的字符集保持一致。比如

java -Dfile.encoding=GBK -classpath "$CLASSPATH" $CLASS "
[email protected]
"


相關推薦

linuxcrontab執行java中文亂碼問題

最近在伺服器上執行java檔案,手動執行shell指令碼沒問題,中文顯示正常。但是加入crontab任務之後,中文就變成亂碼(?)。 網上查詢各種方法後發現:這是由於加入crontab後字符集會變為linux的root環境下的字符集。 在伺服器輸入echo $LANG可以得

linux環境執行java中文亂碼(docker)

1、首先輸入loacal檢視LANG這塊是什麼語言包 2、然後輸入loacal -a檢視本機擁有什麼語言包 3、設定LANG為en_US.utf8的命令如下 export LANG=en_US.utf8 注:如果自身系統沒有語言包,需要去下載,具體方法自己搜尋,本人之前用

linux crontab執行指令碼中文亂碼問題

在linux中寫了個定時指令碼,其中包含中文字元。指令碼手動執行一切正常,但是使用crontab執行後發現日誌中應該出現中文的地方全是???等亂碼。 分析出原因肯定是環境變數的問題。因為Unix/Linux下使用crontab時的執行環境已經不是使用者環境了,因此原本使用者下的一些環境變數的設

linux解壓縮檔案中文亂碼問題的解決

在windows上壓縮的檔案,是以系統預設編碼中文來壓縮檔案。由於zip檔案中沒有宣告其編碼,所以linux上的unzip一般以預設編碼解壓,中文檔名會出現亂碼。 雖然2005年就有人把這報告為bug, 但是info-zip的官方網站沒有把自動識別編碼列入計劃,可能他們不認為這是個問題。Sun對java中存在

java中文亂碼(linux環境)

java中文亂碼原因和解釋-linux環境下 java記憶體統一編碼unicode javac: 預設情況下,讀取.java檔案,預設按照linux的locale環境下的編碼型別對檔案進行讀取 如linux環境如果是gbk,那麼便會以gbk編碼格式進行讀取 因此如果出現ja

Linux打開windows中文文本亂碼問題

nic col one inf 文檔 instr ins pen ram 1. 查看文件的編碼方式:file命令 $ file test_file.txt test_file.txt: ISO-8859 text, with very long lines $

程式在Linux環境執行列印中文亂碼

問題描述: 程式在開發環境下輸出日誌,中文正常顯示。但是移交測試環境後,日誌輸出中的中文全部變成亂碼。由於日誌全部儲存在資料庫,日誌列印由資料庫取出後直接列印,所以排除了Tomcat編碼問題。 問題

Linux環境自啟動tomcat中文亂碼問題

環境:tomcat-7.0.64; jdk1.7.0_75; Debian Linux 4.6; 問題現象:1、linux自啟動tomcat會出現中文亂碼; 2、使用shutdown.sh和startup.sh重啟tomcat亂碼問題消失。 解決辦法:在catalina.

Linux編譯打包Java成Jar併成功執行

1.Linux下編譯Java原始檔:    1.1 編譯命令:        javac [-d] [-o] [-verbose] [-classpath][-sourcepath]-d: 指定生成的.class檔案存放目錄,一般省略則預設放在java原始檔同一目錄下;   

linux定時執行任務的方法 crontab

在LINUX中,週期執行的任務一般由cron這個守護程序來處理[ps -ef|grep cron]。cron讀取一個或多個配置檔案,這些配置檔案中包含了命令列及其呼叫時間。cron的配置檔案稱為“crontab”,是“cron table”的簡寫。一、cron在3個地方查詢

linux sh呼叫java執行class

本文主要介紹在linux下sh批處理檔案呼叫java的方法。shell程式設計的程式碼如下: #!/bin/bash #引入java環境變數 . /etc/profile #取得當前.sh檔案所在的目錄 DIR="$( cd "$( dirname "${BASH_SO

linuxcrontab 任務不執行的可能原因總結

昨天遇到了crontab不能執行的問題,現總結如下:現象:    a.shell指令碼已經有執行許可權(chmod 777 xxx.sh)    b.在#!/bin/sh的下行已經加上了source ~/.bash_profile    c.已經確認 crond 服務正常執

Linux Crontab 裡的命令無法執行的問題

自己對linux的熟悉程度也只是屬於入門級的小白,但今天居然也能幫師兄解決了一下這個小問題還是覺得很開心。我也知道入門不容易,所以一點點的經驗希望夠幫到需要的同學。 crontab 命令使用方式和linux的sh指令碼編寫程式碼,普通的任務百度一下很快就能夠將程式寫出來

java專案在windows和linux傳遞json資料不亂碼問題

一般情況下不處理直接傳遞json資料在windows環境下很正常,但是在linux環境下發生亂碼,所以需要進行處理 js傳遞的json var data=encodeURIComponent(enc

linux定時執行任務的方法 crontab 用法說明

linux下定時執行任務的方法 【非原創,個人網上收集整理了一下】在LINUX中,週期執行的任務一般由cron這個守護程序來處理[ps -ef|grep cron]。cron讀取一個或多個配置檔案,這些配置檔案中包含了命令列及其呼叫時間。cron的配置檔案稱為“crontab

Linux運行Java項目時,出現No X11 DISPLAY variable was set, but this program performed an operation which requires it.的問題解決

per 出現 cnblogs -m performed program this exp code 在~/.bashrc環境變量文件最下方加入: export DISPLAY=:0.0 然後,刷新環境變量以使其生效: source ~/.bashrc

crontab定時任務中文亂碼問題

技術 tab -s 開頭 tool 測試 解決 jar 設置 crontab啟動的任務沒有獲取系統的環境變量,導致中文亂碼 解決辦法: 在執行的腳步中添加編碼方式或者添加對應的環境變量 如: 1、/usr/bin/java -Dfile.encoding=UTF-8

XAMPP的MYSQL解決中文亂碼問題

png mysql 使用 sql 數據庫 div 剛才 個數 中文 相信有很多朋友都跟我一樣,使用XAMPP集成的MYSQL,因為它操作起來實在太方便了。但是它默認不是支持UTF-8的,需要我們手動去修改配置文件my.ini 打開XAMPP的控制面板,並打開配置文件

關於windows程序開發的中文亂碼問題小結

latin1 nco ansi 多人 保存文件 很大的 問題: 什麽 提示 筆者遇到的問題背景: windows 下使用notepad++6.7 ,ftp連接遠程ubuntu主機,在本地創建遠程主機文件,編輯後上傳出現中文亂碼。 筆者最開始不明白問題出在哪,因為設置了在

JAVA中文亂碼之解決方案

can tco con enc 字符 pos 好的 type nco 1.解決HTML頁面的中文問題:為了使HTML頁面很好的支持中文,在每個HTML頁面的<head>標簽內部增加(創建HTML頁面自帶) <head> <m