URLエンコードされた日本語を一括でデコードする方法

スポンサーリンク

大量のURLをhtaccessでリダイレクトしたいことってありますよね。

そんなときに、URLにURLエンコードされた日本語が入っているとリダイレクトされません。

なので日本語にもどしてやる必要があります。

「%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF」

↓↓↓

「こんにちは」

こんな感じですね。

やり方です。

target.txtにエンコードされた文字が入っているとします。

Windows Power Shellで以下を実行してください。

Get-Content .\target.txt |
    ForEach-Object {
        [regex]::Replace(
            $_,
            '(/(?:%[0-9A-Fa-f]{2})+)',
            { param($m) [uri]::UnescapeDataString($m.Value) }
        )
    } |
    Set-Content .\decoded.txt -Encoding UTF8

そうするとdecoded.txtにデコードされたファイルができあがります。

コメント