PHP:特殊字符未正确显示

时间:2015-05-11 21:31:44

标签: php encoding utf-8

我有一个存储在pg数据库中的值(名称),值为Müller。但是,例如,当我var_dump('Müller');我得到输出时:MÃ1/4ller

我尝试过设置header('Content-Type: text/html; charset=UTF-8');而不去。

有趣的是,我没有在客户端获得此问题,名称显示正确,但在服务器端,当分解名称的前三个字母而不是获取:

array(3) {
    [0] =>
    string(1) "M"
    [1] =>
    string(1) "ü"
    [2] =>
    string(1) "l"
}

我明白了:

array(3) {
    [0] =>
    string(1) "M"
    [1] =>
    string(1) "Ã"
    [2] =>
    string(1) "1/4"
}

我认为既然数据库正确地存储了值,那一定是php的东西,但是在google搜索之后还没能弄明白,所以也许我不是在搜索正确的查询?

1 个答案:

答案 0 :(得分:1)

这取决于您的架构配置。

在使用PHP转储之前尝试utf8_decode()http://php.net/manual/fr/function.utf8-decode.php

或者,您可以使用utf8_encode()将字符串编码回utf8