PHP: 特殊字符未正确显示

PHP: Special chars not shown correctly

我有一个值(名称)存储在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 的事情,但是在谷歌搜索了很多之后还没有弄清楚,所以也许我不是寻找正确的查询?

这取决于您的架构配置。

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

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