ユーザーがテキストをフォーマットできるように、WYSIWYG を使用しています。これはエラーの原因となるテキストです:
<p><span style="line-height: 115%">This text starts with a 'T'</span></p>
エラーは、URLDecode を使用して DB に保存するときに、「This」の「T」または最初の文字がランダムに削除されることです。サーバー側で URLDecode を削除すると、悪影響を与えることなく修正されるようです (DB には同じ情報が含まれています)。
ドキュメントによると、
HTTP のクエリ文字列は常に URL エンコードされます。
これは本当にそうですか?もしそうなら、URLDecode を削除してもすべてが台無しにならないのはなぜですか?
2つの質問:
- URLDecode によって最初のテキスト文字がこのように削除されるのはなぜですか (line-height プロパティが存在する場合にのみ発生するようです)。
- POST されたデータをデータベースに入れる前に、URLDecode を使用する必要が本当にあるのでしょうか (または、使用したいと思いますか?)
編集: デコードされたテキストをエコー バックするテスト ページを作成しました。URLDecode は間違いなくその文字を削除していますが、その理由はわかりません。