2

我有一个 VPS(Debian、Apache、MySQL、PHP)

我想强制使用 UTF-8 编码。我已经把这条线:

header('Content-type: application/json; charset: UTF-8');

但字符集仍然是 ISO8859

我还编辑了 php.ini :/etc/php5/apache2/php.ini

mbstring.language=UTF-8
mbstring.internal_encoding= UTF-8
mbstring.http_input=UTF-8
mbstring.http_output=UTF-8
mbstring.detect_order= auto

和 apache conf:

nano /etc/apache2/conf.d/charset
AddDefaultCharset UTF-8

一个 iOS 应用程序正在调用我的 php 页面。我给它一个 JSON 输出。但它接收 ISO 字符集...

4

3 回答 3

7

您的响应标头不正确:

header('Content-type: application/json; charset: UTF-8');

它应该是:

header('Content-type: application/json; charset=UTF-8');

注意=代替:

于 2012-05-25T21:04:22.233 回答
3

您是否看过utf8-encode函数: http: //php.net/manual/en/function.utf8-encode.php

您可能正在向客户端回显未正确编码的文本。Apache 不会为您执行此操作。

于 2012-05-25T20:54:38.343 回答
2

在 .htaccess 文件中,您可以输入:

php_value default_charset UTF-8
于 2015-11-20T12:25:41.257 回答