2013-05-17 37 views
0

我正在使用html表單以法語輸入字符串。當我讀取服務器端的字符串(Java)時,某些法語字符無法正確顯示。法語字符編碼問題è在java中顯示爲è

例如,

è已採用

我在兩臺服務器測試這項功能。這是在一個(本地Windows服務器)中工作,但問題發生在具有相同代碼的遠程服務器上。

您能否提供一些線索,以瞭解我應該看的地方?

表頭

<form accept-charset="UTF-8" method="post" name="dd_add_cat_form" id="dd_add_cat_form"> 

HTML的兩個服務器

< HTTP/1.1 200 OK 
< Server: Apache-Coyote/1.1 
< RlogId: wf.rbcbq672%3F%3CVB%28USD5%3E44-13eb39c8a7e 
< Cache-Control: no-cache 
< Pragma: no-cache 
< Content-Type: text/html;charset=UTF-8 
< Content-Length: 2619 
< Date: Fri, 17 May 2013 17:49:40 GMT 

回答

1

頭大概兩個服務器上的默認字符集是不同的。

然後有一些代碼是使用默認字符集進行解碼的,該字符集在一種情況下匹配,而在另一種情況下不匹配。在java代碼中尋找使用默認字符代碼進行解碼的東西。

例如:

byte[] bytes = ....; 
String s = new String(bytes); // uses the default 

但是這一個不使用默認

String s = new String(bytes, "UTF-8"); // uses the supplied charset 
+1

通過 的String =新字符串(french.getBytes()固定, 「UTF-8」 ); – dwong