Private/_common/Convert-DiacriticsToUrlEncoded.ps1
function Convert-DiacriticsToUrlEncoded { [CmdletBinding()] param( [Parameter(Mandatory, Position=0)] [ValidateNotNullOrEmpty()] [string]$String ) $lookup = New-Object system.collections.hashtable $lookup.'À' = 'À' #A, grave $lookup.'Á' = 'Á' #A, acute $lookup.'Â' = 'Â' #A, circumflex $lookup.'Ã' = 'Ã' #A, tilde #$lookup.'Ä' = 'Ä' #A, umlaut $lookup.'Å' = 'Å' #A, ring $lookup.'Æ' = 'Æ' #AE, dipthong $lookup.'Ç' = 'Ç' #C, cedilla $lookup.'È' = 'È' #E, grave $lookup.'É' = 'É' #E, acute $lookup.'Ê' = 'Ê' #E, cicumflex $lookup.'Ë' = 'Ë' #E, umlaut $lookup.'Ì' = 'Ì' #I, grave $lookup.'Í' = 'Í' #I, acute $lookup.'Î' = 'Î' #I, circumflex $lookup.'Ï' = 'Ï' #I, umlaut $lookup.'Ð' = 'Ð' #Eth, Icelandic $lookup.'Ñ' = 'Ñ' #N, tilde $lookup.'Ò' = 'Ò' #O, grave #$lookup.'Ó' = 'Ó' #O, acute #$lookup.'Ô' = 'Ô' #O, circumflex $lookup.'Õ' = 'Õ' #O, tilde $lookup.'Ö' = 'Ö' #O, umlaut $lookup.'×' = '×' #multiply sign $lookup.'Ø' = 'Ø' #O, slash $lookup.'Ù' = 'Ù' #U, grave $lookup.'Ú' = 'Ú' #U, acute $lookup.'Û' = 'Û' #U, circumflex $lookup.'Ü' = 'Ü' #U, umlaut $lookup.'Ý' = 'Ý' #Y, acute $lookup.'Þ' = 'Þ' #THORN, Icelandic $lookup.'ß' = 'ß' #eszett $lookup.'à' = 'à' #a, grave $lookup.'á' = 'á' #a, acute $lookup.'â' = 'â' #a, circumflex $lookup.'ã' = 'ã' #a, tilde $lookup.'ä' = 'ä' #a, umlaut $lookup.'å' = 'å' #a, ring $lookup.'æ' = 'æ' #ae, dipthong $lookup.'ç' = 'ç' #c, cedilla $lookup.'è' = 'è' #e, grave $lookup.'é' = 'é' #e, acute $lookup.'ê' = 'ê' #e, cicumflex $lookup.'ë' = 'ë' #e, umlaut $lookup.'ì' = 'ì' #i, grave $lookup.'í' = 'í' #i, acute $lookup.'î' = 'î' #i, circumflex $lookup.'ï' = 'ï' #i, umlaut $lookup.'ð' = 'ð' #eth, Icelandic $lookup.'ñ' = 'ñ' #n, tilde $lookup.'ò' = 'ò' #o, grave $lookup.'ó' = 'ó' #o, acute $lookup.'ô' = 'ô' #o, circumflex $lookup.'õ' = 'õ' #o, tilde $lookup.'ö' = 'ö' #o, umlaut $lookup.'÷' = '÷' #divide sign $lookup.'ø' = 'ø' #o, slash $lookup.'ù' = 'ù' #u, grave $lookup.'ú' = 'ú' #u, acute $lookup.'û' = 'û' #u, circumflex $lookup.'ü' = 'ü' #u, umlaut $lookup.'ý' = 'ý' #y, acute $lookup.'þ' = 'þ' #thorn, Icelandic $lookup.'ÿ' = 'ÿ' #y, umlaut foreach ($key in $lookup.Keys){ $String = $String.Replace($key,$lookup.$key) } return $String } |