Strato Server上的Charset

时间:2015-11-18 13:02:56

标签: php mysql wordpress character-encoding

我必须将客户端wordpress移动到strato服务器。

到目前为止一切顺利。但所有用德语的变音符号打字。那么ü变成了? 我发现这与charset有关。

Heres是我的数据库配置: enter image description here

数据库的合并也是utf8mb4_unicode_ci

这是我页面上的html标题:

Connection:Keep-Alive
Content-Type:text/html; charset=UTF-8
Date:Wed, 18 Nov 2015 12:58:52 GMT
Keep-Alive:timeout=3, max=100
Link:<https://mydomain.de/>; rel=shortlink
Server:Apache/2.2.31 (Unix)
Transfer-Encoding:chunked
X-Pingback:http://mydomain.de/xmlrpc.php
X-Powered-By:PHP/5.5.29

我现在尝试使用php.ini中的defaul_charset=UTF-8,但这并没有带来任何变化。

我做错了什么?在phpMyAdmin中我可以看到öäüß拼写正确。

1 个答案:

答案 0 :(得分:0)

两件事之一:

1) 确保PHP代码中的任何字符串处理都使用mb_(多字节安全)变体。例如。 mb_substr代替substr

2) 确保您的php代码以utf-8方式连接到数据库:

的mysqli:

$DB->set_charset('utf8mb4');
$DB->query("SET NAMES 'utf8mb4'");

PDO:

$DB = new PDO('mysql:charset=utf8mb4');
$DB->exec("SET NAMES 'utf8mb4'");