2011-08-11 10 views
0

私はbuild.propertiesファイルを使用するantビルドスクリプトを持っています。私はこのようなものがあります:プロパティファイルの特殊文字に関する問題をコード化しました

release_type=debug 
version_code=1 
version_name=1.0.0 
logo_text=This is German: special chars like ä or ö 

私の問題は、私はxmlファイルでプレースホルダを置き換えるためにlogo_textを使用することを、今、結果は3の2にあるビルドをゴミのように:

<string name="logo_text">"This is German: special chars like ää or ü."</string> 

私は3つのビルドターゲットを持っており(それぞれ独自のプロパティファイルを使用しています)、常に同じ2が混乱してしまい、3つ目が正しく置き換えられます。

テキストのソースは常にUTF-8であり、ビルドファイルはUTF-8であるbuild.propertiesです。私は2人がこの問題を持っている理由は何も分かりません。

<?xml version="1.0" encoding="UTF-8"?> 
<project name="branding-builds"> 
    <!-- code snipped --> 
    <copy todir="./${short_title}"> 
     <fileset dir="./brandings/${short_title}"> 
      <exclude name="**/*.png"/> 
      <exclude name="**/*.java"/> 
     </fileset> 
     <filterset> 
      <filter token="LOGO_TEXT" value="${logo_text}" /> 
     </filterset> 
    </copy> 
    <!-- code snipped --> 
</project> 

情報::必ずその問題を解決していないめちゃめちゃなかった&ペーストをコピーするために特殊な文字を書き換え、私はテキストとプレースホルダを置き換える方法

答えて

4

プロパティファイルはUTF-8でエンコードされるべきではありません。 :

入出力ストリームは、ISO 8859-1文字エンコードでエンコードされています。 このエンコーディングで直接表現できない文字は、Unicodeエスケープを使用して書かれた になります。単一の「u」文字だけがエスケープシーケンスで に許可されます。 native2asciiツールを使用して、 プロパティファイルを他の文字エンコーディングとの間で変換することができます。

+0

ありがとう、ISO 8859-1エンコーディングでプロパティを保存しました。なぜ彼らがUTF-8をサポートしていないのか分かりません。ありがとう! – WarrenFaith

関連する問題