私たちのアプリケーションは32ビットアプリケーションです。Windows 7 64ビットにインストールする場合、通常は「C:\ ProgramFiles」ではなく「C:\ ProgramFiles(x86)」にインストールします。インストール場所に基づいてURLを作成し、Webサービスの一部として渡します。次のようにURLを作成しています。
ppmPath = "http://" + ipAddress + ":13007/" + folder + ".ppm" + "?filePath="
+ applicationDirPath + "/" + FIRMWARE;
QUrl ppmURL( ppmPath, QUrl::TolerantMode );
ppmPath = QString( ppmURL.toEncoded() );
変数の種類と意味は通常です。
Windows 7 64ビットの「applicationDirPath」には1つの閉じ括弧「)」が含まれているため(「(x86)」サブストリング内)、URLが壊れているようです。他の場所にインストールすると、その場所に他の特殊文字が含まれていても、完全に機能します。
URLの「)」文字を処理して、壊れないようにするにはどうすればよいですか?