使用转换失败更改mysql中的字符 - 仍然获得N£

时间:2009-02-17 14:52:43

标签: php mysql encoding

我使用来自php的数据(通过post和使用filter_input)填充这个mysql表。 数据库是utf8,但当我有一个用^,',',〜的用户输入单词时,就像Não我得到的这个 - > NA£ø

我需要做些什么才能让它显示正确的值。或者我应该在检索数据时尝试进行一些修正?

更新:

我添加了一个utf8_decode,现在它插入了ok。 任何人都知道如何转换已经在表中的字符串?我尝试使用转换功能,但我无法使其工作:(

更新:

我正在尝试这段代码:

  

选择转换(使用latin1的字段)   从表中id = 35;

我仍然得到这个:N?o 我尝试了其他编码,但我从来没有得到Não

这个词

任何人对此都有任何想法?

2 个答案:

答案 0 :(得分:1)

首先,确保您的网页是utf-8

<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>

接下来,如果您在Apache上,请在配置文件中使用UTF-8:

AddDefaultCharset UTF-8

或者您可以在.php文件中执行此操作:

header('Content-type: text/html; charset=UTF-8'); 

如果仍有问题,可以使用编码功能:

$value = utf8_encode($value);

希望这一切都有所帮助...

答案 1 :(得分:0)

它看起来像某个地方无法处理Unicode。结果,ã被解释为两个独立的字符。确保处理字符串的所有内容都可以使用Unicode。