URLやURIに使用できない文字列を使用できる文字の特殊な組み合わせによって表記する変換規則です。

具体的には、使用できない文字を16進数で表し % に続けて表記し、その文字に置き換えます。

(例)
# → %23
*  →  %2A

例外もあり、半角スペースの場合は、+に置き換えられ、半角プラスの場合は、%2Bに置き換えられます。

その他に注意事項として、マルチバイトの場合使用する文字コードが異なると同じ文字列でもURLエンコードの内容が異なります。
これは、マルチバイト文字はバイト単位で変換するため、文字コードが異なると文字の文字コードを16進数で表したものが異なっているためです。