on run
set listChar to {"á", "Á", "â", "Â", "à", "À", "å", "Å", "ã", "Ã", "ä", "Ä", "æ", "Æ", "ç", "Ç", "é", "É", "ê", "Ê", "è", "È", "ë", "Ë", "í", "î", "ì", "ï", "ñ", "Ñ", "ó", "Ó", "ô", "Ô", "ò", "Ò", "ø", "Ø", "õ", "Õ", "ö", "Ö", "", "", "", "", "ß", "ð", "Ð", "þ", "Þ", "ú", "Ú", "û", "Û", "ù", "Ù", "ü", "Ü", "ý", "Ý", "ÿ", "", " & ", "©", "®", "", "§", "¤", "", "¢", "£", "¥", "", "\"", "«", "»", "", "", "", "", "", "'", "", "", "", "
", "¡", "¿", "¨", "´", "", "", "¸", "·", "", "¯", "‾", "", "", "¦", "", "", "¶", "◊", "♠", "♣", "♥", "♦", "←", "↑", "→", "↓", "↔", "α", "Α", "β", "Β", "γ", "Γ", "δ", "Δ", "ε", "Ε", "ζ", "Ζ", "η", "Η", "θ", "Θ", "ι", "Ι", "κ", "Κ", "λ", "Λ", "μ", "Μ", "ν", "Ν", "ξ", "Ξ", "ο", "Ο", "π", "Π", "ρ", "Ρ", "σ", "ς", "Σ", "τ", "Τ", "υ", "Υ", "φ", "Φ", "χ", "Χ", "ψ", "Ψ", "ω", "Ω", "°", "µ", "<", ">", "≤", "≥", "≈", "≠", "≡", "±", "−", "×", "÷", "⁄", "", "¼", "½", "¾", "¹", "²", "³", "º", "ª", "′", "″", "∂", "∏", "∑", "√", "∞", "¬", "∩", "∫", "⇒", "⇔", "∀", "∃", "∇", "∈", "∋", "∝", "∠", "∧", "∨", "∪", "∴", "∼", "⊂", "⊃", "⊆", "⊇", "⊥", "⊕", " ", " ", " ", "℘", "ℑ", "ℜ", "↵", "⇐", "⇑", "⇓", "∅", "∉", "∗", "≅", "⊄", "⊗", "⋅", "⌈", "⌉", "⌊", "⌋", "〈", "〉", "ℵ", "ϑ", "ϖ", "ϒ"}
set listOk to {"á", "Á", "â", "Â", "à", "À", "å", "Å", "ã", "Ã", "ä", "Ä", "æ", "Æ", "ç", "Ç", "é", "É", "ê", "Ê", "è", "È", "ë", "Ë", "í", "î", "ì", "ï", "ñ", "Ñ", "ó", "Ó", "ô", "Ô", "ò", "Ò", "ø", "Ø", "õ", "Õ", "ö", "Ö", "œ", "Œ", "š", "Š", "ß", "ð", "Ð", "þ", "Þ", "ú", "Ú", "û", "Û", "ù", "Ù", "ü", "Ü", "ý", "Ý", "ÿ", "Ÿ", " & ", "©", "®", "™", "§", "¤", "€", "¢", "£", "¥", "ƒ", """, "«", "»", "‹", "›", "“", "”", "„", "'", "‘", "’", "‚", "…", "¡", "¿", "¨", "´", "ˆ", "˜", "¸", "·", "•", "¯", "‾", "–", "—", "¦", "†", "‡", "¶", "◊", "♠", "♣", "♥", "♦", "←", "↑", "→", "↓", "↔", "α", "Α", "β", "Β", "γ", "Γ", "δ", "Δ", "ε", "Ε", "ζ", "Ζ", "η", "Η", "θ", "Θ", "ι", "Ι", "κ", "Κ", "λ", "Λ", "μ", "Μ", "ν", "Ν", "ξ", "Ξ", "ο", "Ο", "π", "Π", "ρ", "Ρ", "σ", "ς", "Σ", "τ", "Τ", "υ", "Υ", "φ", "Φ", "χ", "Χ", "ψ", "Ψ", "ω", "Ω", "°", "µ", "<", ">", "≤", "≥", "≈", "≠", "≡", "±", "−", "×", "÷", "⁄", "‰", "¼", "½", "¾", "¹", "²", "³", "º", "ª", "′", "″", "∂", "∏", "∑", "√", "∞", "¬", "∩", "∫", "⇒", "⇔", "∀", "∃", "∇", "∈", "∋", "∝", "∠", "∧", "∨", "∪", "∴", "∼", "⊂", "⊃", "⊆", "⊇", "⊥", "⊕", " ", " ", " ", "℘", "ℑ", "ℜ", "↵", "⇐", "⇑", "⇓", "∅", "∉", "∗", "≅", "⊄", "⊗", "⋅", "⌈", "⌉", "⌊", "⌋", "⟨", "⟩", "ℵ", "ϑ", "ϖ", "ϒ"}
considering case
set theText to the clipboard
repeat with i from 1 to count of items in listChar
set thisItem to item i of listChar
if thisItem is in theText then
set theText to find_replace(theText, thisItem, (item i of listOk))
end if
end repeat
end considering
set the clipboard to theText
end run
on find_replace(the_string, old_char, new_char)
set AppleScript's text item delimiters to old_char
set the_list to text items of the_string
set AppleScript's text item delimiters to new_char
set the_string to the_list as text
set AppleScript's text item delimiters to ""
return the_string
end find_replace