我使用来自php的数据(通过post和使用filter_input)填充这个mysql表。 数据库是utf8,但当我有一个用^,',',〜的用户输入单词时,就像Não我得到的这个 - > NA£ø
我需要做些什么才能让它显示正确的值。或者我应该在检索数据时尝试进行一些修正?
更新:
我添加了一个utf8_decode,现在它插入了ok。 任何人都知道如何转换已经在表中的字符串?我尝试使用转换功能,但我无法使其工作:(
更新:
我正在尝试这段代码:
选择转换(使用latin1的字段) 从表中id = 35;
我仍然得到这个:N?o 我尝试了其他编码,但我从来没有得到Não
这个词任何人对此都有任何想法?
答案 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。