Webページを取得してその一部を解析し、値としてPOSTしようとしています。問題は、ó という文字がある場合に ó を取得するため、それを投稿すると、urlencode 変換によってそれらの文字がまったく別のものに変換されてしまい、機能しないことです。
より正確には、utf-8 の ó が ISO-9959-1 の場合と同じように解釈されると ó が生成されます。または、少なくともそれが私のブラウザの動作です。utf-8 でページを表示するように設定すると、ó が表示されます。 ISO-9959-1 でページを表示するようにブラウザを設定すると、√、他のエンコーディングでは異なる記号が生成されます。
ページの結果とその特定の文字列を utf-8 に変換しようとしました。また、utf-8 のみを受け入れるようにヘッダーを設定しようとしましたが、それも機能していません。それが問題だと確信していますが、アイデアが不足しています。php.ini の構成を変更しましたが、まだ再起動していない可能性があります。基本的に、これは暗闇での撮影のようなものであり、いくつかの助けをいただければ幸いです。
これが役立つ場合: 特定のコードはこちら: https://github.com/trylks/golem/blob/master/php/copperGolem.php
メソッドは「form」で、以前に取得したページからパラメータ値の 1 つを GET で取得します。
ありがとうございました。
PD の解決: ここ数時間、これに取り組んできましたが、他に必要な多くのことを変更したかどうかわかりません。いずれにせよ、それを機能させる最後の変更は、60 行目を次のように変更する$dom->loadHTML(mb_convert_encoding($p, 'html-entities', mb_detect_encoding($p)));
ことでした。ここで説明されているように、問題は libcurl ではなく DomDocument にあります: PHP DomDocument fails to handle utf-8 characters (☆)