0
我有一个问题,我的编码...编码php postgres json_encode
一切都是UTF-8配置,即我的数据库(postgres)和我的PHP文件。
当我执行这个脚本:
$eleves = $serviceManager->getAll('Eleve');
echo "<pre>";
print_r($eleves);
echo "</pre>";
我得到这个:
[0] => Model_Eleve Object
(
[idEleve:Model_Eleve:private] => 28206
[numeroscolaire:Model_Eleve:private] => ABE290999JOËL
[nom:Model_Eleve:private] => Abedinpour
[prenom:Model_Eleve:private] => Joël
[dateNaissance:Model_Eleve:private] => 1999-09-29
[sexe:Model_Eleve:private] => masculin
[statusCourant:Model_Eleve:private] =>
[statusSuivant:Model_Eleve:private] =>
[adresses:Model_Eleve:private] => Array
(
[0] => Model_Adresse Object
(
[idAdresse:Model_Adresse:private] => 6176
[rue:Model_Adresse:private] => La Delèze
[numero:Model_Adresse:private] => 37
[codePostal:Model_Adresse:private] => 1164
[localite:Model_Adresse:private] => Buchillon
[emplacement:Model_Adresse:private] =>
)
)
这里一切正常。但是,如果我想JSON:
$eleves = $serviceManager->getAll('Eleve');
echo "<pre>";
echo json_encode($eleves, JSON_PRETTY_PRINT);
echo "</pre>";
我得到这个:
{
"nom": "Abedinpour",
"prenom": "Jo\u00ebl",
"adresse": [
{
"rue": "La Del\u00e8ze",
"numero": "37",
"localite": "Buchillon"
}
],
"classe": [
"7VSG\/1"
]
},
我不知道为什么它的工作原理与阵列,并且不与json_encode工作...我试图改变一切在UTF8(与ヶ辆),但它告诉我,当我试图表明我的文件编码使用此命令在终端,他不能将“ASCII”
:
file -I myfile.php
它返回:
myfile.php: text/x-php; charset=us-ascii
,但我不能将其转换为UTF-8:
iconv -f us-ascii -t utf-8 myfile.php > myfile2.php
file -I myfile2.php
myfile2.php: text/x-php; charset=us-ascii
在此先感谢您的帮助
是啊,它很好用!但是有可能同时拥有JSON_UNESCAPED_UNICODE和JSON_PRETTY_PRINT?我试过这个: $ eleves2 = json_encode($ eleves,JSON_UNESCAPED_UNICODE); $ eleves3 = json_encode($ eleves2,JSON_PRETTY_PRINT); 但它不起作用... – theplayer777
参数是一个位标志,要传递两个*或*他们:'JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT'。 – deceze
刚刚找到的Oups:json_encode($ eleves,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);谢谢你的帮助! – theplayer777