Sign in to follow this  
Followers 0
Serj

[bug][0.4.0] web interface&unicode

1 post in this topic

I have made next changes to solve this problem (patched files are in attachment):

file client\WebServerManager.cpp

line 105.

original:

pagehtml += " <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />";

replacement:

pagehtml += " <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";

line 115.

original:

pagehtml += " <form method='get' action='index.htm' enctype='multipart/form-data'>";

replacement:

pagehtml += " <form method='get' action='index.htm'>";

comment: incorrect enctype for this purpose, using default.

line 145.

original:

pagehtml += " <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />";

replacement:

pagehtml += " <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";

line 349.

original:

string ret = "<form method='GET' name='search' ACTION='search.html' enctype='multipart/form-data'>";

replacement:

string ret = "<form method='GET' name='search' ACTION='search.html'>";

line 383.

original:

ret += "<option value='8'>TTH";

replacement:

ret += "<option value='8'>TTH</select>";

comment: the <select> tag must be closed.

line 536.

original:

QueueManager::getInstance()->add(m["name"],Util::toInt64(m["size"]),m["tth"]);

replacement:

QueueManager::getInstance()->add(Util::encodeURI(m["name"], true),Util::toInt64(m["size"]),m["tth"]);

comment: decoding "name"'s value.

line 546.

original:

toSend = Text::utf8ToAcp(WebServerManager::getInstance()->getPage(header, IP));

replacement:

toSend = /* Text::utf8ToAcp */(WebServerManager::getInstance()->getPage(header, IP));

comment: recode operation is not required.

file client\WebServerManager.h

line 145.

original:

int i = 0;

while( (i = search_str.find("+", i)) != string::npos) {

search_str.replace(i, 1, " ");

i++;

}

replacement:

/*

int i = 0;

while( (i = search_str.find("+", i)) != string::npos) {

search_str.replace(i, 1, " ");

i++;

}

*/

search_str=Util::encodeURI(search_str, true);

comment: search request must be decoded.

client.zip

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0