0

答えが見つからない奇妙な問題が発生しています。

Delhi XE1 と TidHttp.Get(...) を使用して、これらの文字を変換します。

æøå ÆØÅ äö ÄÖ

これらの間違った文字に: aoa AOA ao AO

どちらの原因で、誤った URL が返されるのでしょうか。いくつかのユニコードの問題が関係していると思われますが、これを解決する方法についての手がかりを持っている人はいますか? TidHTTP.Get(...) の呼び出しで提供している URL は正しいのですが、宛先サーバーが間違った文字を取得します。インディはこれらの文字を何らかの方法で変換します。

コーディング サンプルを投稿できません。

よろしく、 ブライアン・アンダーセン

4

1 に答える 1

1

TIdHTTP.Get()を返すのバージョンはString、サーバーの応答で指定された文字セットを使用するか、文字セットが検出されない場合はデフォルトを使用して、サーバーの生データを Unicode に変換します。発生している症状は、生データが間違った文字セットを使用して Unicode に変換されていることが原因です。実際の HTTP 応答データを表示していないため、HTTP 応答または HTTP 応答に問題があるかどうかを判断するのは困難TIdHTTPです。ただし、XE1 は少し古く、それ以降 Indy の文字セット処理に変更が加えられているため、Indy の最新の開発スナップショットにアップグレードして、問題がまだ続くかどうかを確認する必要があります。

于 2013-10-08T08:43:52.667 に答える