您好我正在使用 phonegap 开发一个移动应用程序,我正在通过 ajax (jsonp) 查询 MySQL 数据库。但是,当返回特殊字符时出现问题,因为它们显示为“?” 取而代之的是例如Ż。
目前在我的 PHP 中我已经添加了这个,但是它并没有成功:
header('content-type: application/json; charset=UTF-8');
是否有人知道可以使用的任何其他字符集,其中包括上述特殊字符?
您好我正在使用 phonegap 开发一个移动应用程序,我正在通过 ajax (jsonp) 查询 MySQL 数据库。但是,当返回特殊字符时出现问题,因为它们显示为“?” 取而代之的是例如Ż。
目前在我的 PHP 中我已经添加了这个,但是它并没有成功:
header('content-type: application/json; charset=UTF-8');
是否有人知道可以使用的任何其他字符集,其中包括上述特殊字符?
第一件事是第一
a)修复数据库表确保使用正确的字符集定义的表,例如
CREATE TABLE `types` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8
b)连接到数据库后,确保以下事项
[我也跟着跑]
SET character_set_client ='utf8',
character_set_connection ='utf8',
character_set_database ='utf8',
character_set_results ='utf8',
character_set_server ='utf8',
collation_connection ='utf8_general_ci',
collation_database ='utf8_general_ci',
collation_server ='utf8_general_ci'
c) 最后为 html 页面设置正确的内容类型
希望对你有帮助
您正在使用 MySQL 数据库?因此,尝试为数据库连接设置一个 utf8 字符集,例如:
$conn = mysql_connect('localhost','user1','pass1',TRUE);
mysql_set_charset('utf8',$conn);
或者尝试 UTF-8 编码
string utf8_encode ( string $data )
参数:
data
An ISO-8859-1 string.
返回值:
Returns the UTF-8 translation of data.
根据 JSON 实现标准,所有 JSON 数据必须以 UTF 格式编码,默认格式为 UTF-8。但您始终可以使用其他 UTF 格式,例如 UTF-32BE、UTF-16BE、UTF-32LE、UTF-16LE。
有关详细标准和信息,请访问ietf 标准。