我正在尝试编码包含重音大写字母的字符串,如:
$string = "This is a test - À ";
我正在尝试以这种方式使用utf8_encode
进行编码:
$string = "This is a test - À ";
$encoded = utf8_encode($string);
返回的字符串是:
"This is a test - ã ";
我可以使用哪种功能代替utf8_encode
?
修改
此字符串存储在mysql db。
中的表中这就是我连接数据库的方式:
$host = "xxxxxx:3306";
$uid = "username";
$pwd = "password";
$dv_database_name = "db_name";
$db_dv = mysql_connect($host, $uid, $pwd);
mysql_query("SET NAMES utf8",$db_dv);
$sql = "...";
$res = mysql_query($sql, $db_dv);
$row = mysql_fetch_array($res);
$string = $row['myField']; // THIS IS THE STRING WITH ACCENTED VALUE
答案 0 :(得分:1)
我认为问题出在原始字符串上:您确定编辑它的编辑器是否处于utf8模式?
utf8_encode()只能从ISO-8859-1转码为UFT8
我看到了你的代码。我建议您按照评论中的说明来解决您的问题。如果一切都已经是UTF8,则无需使用utf8_encode。
确保向用户显示结果的html页面显示了UTF8编码(如Peter所建议的那样)。