私はクエリにアクセント記号付きの文字があることを知っているので、RFC 3986に従ってURLエンコーディングを持つAPIをリクエストする必要があります。例えばURL/URIエンコーディングR
、この引数:
quel écrivain ?
は次のように符号化されるべきである:
quel%20%C3%A9crivain%20%3F%0D%0A
残念ながら、私はURLENCODE、符号化、URL_ENCODE、又はcurlEscapeを使用する場合、私が得られた符号を有します。
URLencode("quel écrivain ?")
[1] "quel%20%E9crivain%20?"
問題はアクセント付きの文字です。たとえば、 "é"はintに変換されます。 o "%C3%A9"の代わりに "%E9%" ...
私はこのURLエンコーディングに問題を見出すことなく苦労しています...私はAPIを手にしていないので、わかりませんエンコーディングの処理方法("<U+FFFD>"
に分割されている「écrivain」、
"1\tquel\tquel\tDET\tDET\tGender=Masc|Number=Sing\t5\tdet\t0\t_\n4\t<U+FFFD>\t<U+FFFD>\tSYM\tSYM\t_\t5\tcompound\t0\t_\n5\tcrivain\tcrivain\
あなたが見ることができるように:
奇妙なことではなくGETのPOSTを使用してアクセントを持つ単語が2つの異なるラインにcuttedされている応答につながることがありますこれは "é"のASCIIエンコーディング)と"crivain"
です。
私はこのようなエンコーディングの問題で怒っています。華麗な心が私を助けてくれたら、私はとても感謝しています!
ありがとうマヌエル、私はまったく同じことをしませんでしたが、 'stri_unescape_unicode'はコールするのに良い機能でした! 1.最初に私のPOSTクエリの本体に 'stri_escape_unicode'を適用しました。 2.次に、私は' stri_unescape_unicode'関数をレスポンスの内容に使用しました。 – Tau
私はあなたを実用的なソリューションに導くことができてうれしいです。誰かがかつて「エンコーディングはプログラマを怒らせるだけのものだ」と言った:-) –
もっと同意できませんでした;) – Tau