URLEncoder.encode(String,"UTF-8");//host:port/abc/testr-email.html?ans1=NÃO&ans2=NÃO&ans3=NÃO&ans4=SIM&ans5=NÃO&cntr=1&ts=5&pname=TAAAを使用した後のページ URL は " " です。ページパスで、特殊文字がエスケープ/エンコードされた状態で以下のようになりました。
pagepath = "//host:port/abc/testr-email.html?ans1=N%C3%83O&ans2=N%C3%83O&ans3=N%C3%83O&ans4=SIM&ans5=N%C3%83O&counter=1&totalquestions=5&participantname=TAAA"
以下は、ページコンテンツを読み取ろうとしているコードスニペットです。「NãO」などの特殊文字の値があり、バッファリーダープロセスがデコードして値を取得し、電子メールで送信した後にエンコードされた機能が失われています。体。
コードスニペット:
url = new URL(pagepath);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
url = uri.toURL();
URLConnection conn = url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = br.readLine()) != null) {
byte[] byte1 = inputLine.getBytes("UTF-8");
String sample=new String(byte1, "UTF-8");
log.info("sample Content ==>" + StringEscapeUtils.unescapeHtml4(sample));
content.append(sample);
Where the content is an a StringBuilder as below
StringBuilder content = new StringBuilder();
BufferedReader が URLEncoded 機能を失った後のコンテンツは、私の特殊文字をデコードに戻し、それを電子メールに使用します。
String tempstring = StringEscapeUtils.unescapeHtml4(content.toString());
email.setHtmlMsg(tempstring);
私は、email.setHtmlMsg(...) を観察しています。私の「NãO 」特殊文字がなく、「 N%C3%83O 」として文字をエスケープしています。
特殊文字を取得し、メール送信機能で HTML メッセージ本文に送信する方法。?