在QT使用QwebEngineView加载url时内容包含中文字符和特殊字符时,对于url内需要包括中文字符的情况,需要用QwebEngineView的load方法加载,而不是直接seturl
QMap<QString,QString> postData;
QString sql = QLatinString(".....");
postData.insert(QLatinString("sql"),sql);
QString cururl= QLatinString("http://.....");
QWebEngineView *view;
view->load(QWebEngineHttpRequest::postRequest(QUrl(cururl),postData));
view->show();
直接使用包含中文的url QString进行setUrl会出现中文字符乱码的问题;
对于url内需要包括特殊字符的情况,如url里需要包括',单引号,则在url的QString内需要用\'来表示单引号,其他特殊字符同理,需要进行转义,否则无法正确传输
! | * | " | ' | ( | ) | ; | : | @ | & |
%21 | %2A | %22 | %27 | %28 | %29 | %3B | %3A | %40 | %26 |
= | + | $ | , | / | ? | % | # | [ | ] |
%3D | %2B | %24 | %2C | %2F | %3F | %25 | %23 | %5B | %5D |