utf8_encode大写字母错误

时间:2014-03-27 13:24:00

标签: php utf-8

我正在尝试编码包含重音大写字母的字符串,如:

$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

1 个答案:

答案 0 :(得分:1)

我认为问题出在原始字符串上:您确定编辑它的编辑器是否处于utf8模式?
utf8_encode()只能从ISO-8859-1转码为UFT8

我看到了你的代码。我建议您按照评论中的说明来解决您的问题。如果一切都已经是UTF8,则无需使用utf8_encode。

确保向用户显示结果的html页面显示了UTF8编码(如Peter所建议的那样)。