Pie*_*rre 5 api encoding mediawiki httpclient diacritics
我正在使用MediaWiki API用实验机器人更新一些页面.该机器人使用Java Apache HTTP客户端库来更新页面.
(...)
PostMethod postMethod = new PostMethod("http://mymediawikiinstallation/w/api.php");
postMethod.addParameter("action","edit");
postMethod.addParameter("title",page.replace(' ', '_'));
postMethod.addParameter("summary","trying to fix this accent problem");
postMethod.addParameter("text",content);
postMethod.addParameter("basetimestamp",basetimestamp);
postMethod.addParameter("starttimestamp",starttimestamp);
postMethod.addParameter("token",token);
postMethod.addParameter("notminor","");
postMethod.addParameter("format","xml");
int status = httpClient.executeMethod(postMethod);
(...)
Run Code Online (Sandbox Code Playgroud)
但是'content'字符串包含一些重音符号.System.out.prinln(content)看起来不错,但wiki中突出显示的字符看起来很糟糕.例如'Val rie'而不是'Valérie'.
我怎样才能解决这个问题?
好的,更改请求标头解决了问题。
postMethod.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
Run Code Online (Sandbox Code Playgroud)