java.net.URLEncoder.encode()は、デフォルトエンコーディングでバイト配列にしてしまいます。"あ"はUTF8で「3042」、Shift_JISで「82A0」ですが、URLEncoder.encode("あ")とすると、%82%A0となり、デフォルトエンコーディングされていることが分かります。
ソースを見ると、java.io.OutputStreamWriterを引数なしで使ってますので、文字がデフォルトエンコーディングされて、バイト配列になります。
URLDecoder.decode()も同様です。
2バイト文字は面倒ですね。
Cocoon2のインストールをここに書きましたが、その続きです。
PJA Toolkitに付属するservlet.jarを展開するのですが、これはServlet 2.2仕様のものでバージョンが古く、Servlet2.3のものを動かそうとClassNotFoundやNoSuchMethodなどのエラーが出てしまいます。
そこで、Tomcat 4.0.1に付属するcommon/lib/servlet.jarを展開しました。PJAのものに上書き展開してとりあえずうまく動いてます。PJAのものを入れずに最初からTomcatのものを入れてもいいかもしれません。
ただ不安なのは、今度はPJAが動かなくなる恐れがあることです。まあ、今のところ順調です。
はじめまして。通りすがりのものです。<br>自分はJSP+Servletで業務アプリを開発しています。<br><br>JAVAでの2バイト文字はエンコード方式を考慮して製造しないと<br>えらいめにあいますよね。・・・現在NNとProxyサーバでの文字化け<br>で格闘中(T^T)
そうなんですよね。文字化けのない英語圏がうらやましいです。<br>でも、フランス語やドイツ語でも文字化けはあるので、文字化け対策を切望している技術者は多いと思うのですが、いまひとつですね。<br>Webの世界はUNICODEに統一してほしいですね。