我必须将客户端wordpress移动到strato服务器。
到目前为止一切顺利。但所有用德语的变音符号打字。那么ü变成了? 我发现这与charset有关。
数据库的合并也是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中我可以看到öäüß拼写正确。
答案 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'");