2017-10-28 10 views
1

私はこのようなリクエストパラメータとしてUnicode文字列を送信したい:空手 - ユニコード文字の扱い方は?

{"mobile": "۹۸.۹۱۲۳۴۳۰۴۱۲"} 

が、空手ではなく、このようにそれを送信します {「モバイル」:「?? ????????? ? "} 私は私のテキストを含むファイルからUnicodeテキストを読むことを試みた:

۹۸.۹۱۲۳۴۳۰۴۱۲ 

その後、この方法を読んで、それを送信します。

* def persianMobile1 = read('classpath:account/unicode/persian.mobile.txt') 

     Given url karate.get('urlBase') + "account/activateMobileByVerificationCode" 
     And request 
     """ 
     { 
     "mobile":#(persianMobile1), 
     "code":#(defaultVerificationCode) 
     } 
     """ 

同じ問題が発生しました。私は何をすべきか?

+0

私はJavaの開発者ではないので、あなたの答えはピーターさんにありがたいです。私はちょうどテスターです:D、あなたの答えをどう扱うべきかわからない、プロジェクトが使用していますGradle。 –

+0

私はGradleに精通していないので、私は私の答えを更新しました。 –

答えて

1

pom.xmlmaven-surefire-pluginUTF-8ファイルエンコードを使用するように設定してください。この<plugin>をまだ追加していない場合は追加してください。

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.10</version> 
      <configuration> 
       <argLine>-Dfile.encoding=UTF-8</argLine> 
      </configuration> 
     </plugin> 

EDIT:OPがGradleを使用しているように見えます。空手(私はJUnit経由で実行されていると仮定)を取得して、JVM file.encodingをUTF-8に設定する必要があります。これを修正してください。ここで

はあなたのGradleでこれを行うに役立つはずのリンクです:https://discuss.gradle.org/t/no-possibility-to-set-file-encoding-for-junit-tests-in-gradle-2-13-and-odler/17223

私はあなたがする必要がある場合は、JavaのDEVと連携示唆しています。

関連する問題