2016-04-12 5 views
0

私たちはtomcatをfile.encoding = ISO-8859-15で使用していますので、ISO-8859-15 。ISO-8859-15のTomcatは、ラテン文字のファイル名を書くことができません

ファイルを書き込むとき、コンテンツは正しく保存されますが、ファイル名は保存されません。

ファイルの内容をISO-8859-15(tomcatのデフォルトは-Dfile.encoding = ISO-8859-15 -Duser.language = es -Duser.region = ES -Duser.country = ES)、「áéíóú.txt」という名前のファイルを保存しようとすると、ファイルは?????。txtと内容として書き込まれます。

-Dsun.jnu.encoding = UTF-8を変更しようとしましたが、動作しません。私たちはjdk 1.6を使用します。

私はUbuntu 15.10ではEclipseと同じパラメータ(同じシステムプロパティ)でTomcatを起動し、CentOSリリース6.4では起動しないとうまくいきます。追加

+0

このようなファイルを含むzipをコンソールで開梱してみてください。 CentOSの下におそらくASCIIしかありません。 Linuxの質問。 –

+1

私がUTF-8で小さなJavaアプリケーションを実行して、áéíú.txtファイルを書き込むと、問題は、file.encoding = ISO-8859-15で始まるTomcatからファイルを作成しています。 –

+0

「Windows-1252 "これは近いです。 'System.getProperty(" file.encoding ")'と一緒にシンプルなテキストファイルにファイル名を書き込もうとするかもしれません。コンテンツに????が含まれていない場合TomCatユーザーのファイルシステムは何とか​​間違っています。また、ファイル名はどこから出ますか?ハードコーディングが間違って行くことができます、JSPは、DBすることができます。 –

答えて

0

試してみてください。

LANG="[email protected]" 
Tomcatの設定ファイルに

(CentOSの中で、それは/etc/tomcat/tomcat.confをする必要があります)、それを再起動します。わずかに異なるコーディングシステム(「es_ES.iso88591」など)をご希望の場合は、locale -aはご使用のシステムで使用可能なものをリストします。

ところで、多分LANGを使用すると、-Duser.language(地域と国だけでなく)を設定することを避けることができます。

関連する問題