It is not a php or a regex problem, but an html problem. To obtain a correct display, you must add <meta charset="UTF-8"/>
in the header of your html code.
As an aside comment: using the U modifier is useless:
preg_match('~<title[^>]*>(.*?)</title>~si', $cont, $match);