@ [Java]Subversion文字化け
JNIのライブラリjavahlからアクセスするとエラーメッセージが文字化けする。原因は、マルチバイト文字をNewStringUTFを使ってJavaのStringを生成しているためだった。NewStringUTFはutf-8の文字列にしか使えない。次のようにmbstowcsを使ってunicodeに変換してからNewStringでStringを生成する必要がある。
--- subversion/bindings/java/javahl/native/JNIUtil.cpp.orig 2006-02-04 15:33:18.913752016 +0900
+++ subversion/bindings/java/javahl/native/JNIUtil.cpp 2006-02-04 16:02:08.579802808 +0900
@@ -515,12 +515,21 @@
*/
jstring JNIUtil::makeJString(const char *txt)
{
+ int wlen;
+ wchar_t *wtxt;
+
if(txt == NULL) // NULL string can be converted to a null java string
{
return NULL;
}
+
+ wlen = mbstowcs(NULL, txt, 0);
+ wtxt = (wchar_t *)malloc(sizeof(wchar_t)*wlen+1);
+ wlen = mbstowcs(wtxt, txt, wlen);
+ wtxt[wlen] = '\0';
+
JNIEnv *env = getEnv();
- jstring js = env->NewStringUTF(txt);
+ jstring js = env->NewString((jchar *)wtxt, wlen);
return js;
}
/**
...うーん、tigrisに何故かログインできん。バグ報告もパッチ登録もできんな。困った。
Thank you!<br>[url=http://xrmnzwsq.com/zzhj/zefa.html]My homepage[/url] | [url=http://vqgketkg.com/crzb/jwtm.html]Cool site[/url]
Great work!<br>[url=http://xsytttef.com/rdcc/wwal.html]My homepage[/url] | [url=http://qrhmttvt.com/jtwu/qvjr.html]Cool site[/url]
sale@mp3.com
8xtfHX clip privat amateur ,
8xtfHX clip privat amateur ,