下午好,我在python中有一个脚本从PHP运行它。该脚本对数据库进行查询并返回JSON对象:
[{"ESC_DEF": 0, "ESC_EJE": 2017, "ESC_FEC_PRE": null, "ESC_USU_BAJA": null, "ESC_NOM": "prueba fran 3", "ESC_SIT": "ABIERTO", "ESC_USU_ALTA": "hep68", "RONDA_ID": 1, "ESC_ORI": "Gestión Económica", "ESC_SIT2": "BORRADOR", "ESC_FEC_FRCG": null, "ESC_TPO": "PRESUPUESTO", "ESC_ORG": "1214", "ESC_FEC_ALTA": "19/07/2016 10:39:20", "ESC_FEC_FIR": null, "CRE": 0.00, "ID_PTOEGE": null, "ESC_FEC_BAJA": null, "ESC_COD_BAJA": null, "ID": 3637, "EST_ORG_NOM": null}]
我使用的命令是:
son_output = json.dumps((my_query), default=custom_json, ensure_ascii=False)`
在PHP中,我按如下方式运行并获取结果:
exec('python3 sqlserver.py'. " ".$parametro, $output, $ret_code);
$json = implode($output);
echo utf8_encode(stripslashes($json));
但内容显示如下:
" ESC_ORI":" Gestixc3xb3n Econxc3xb3mica"
重音字符无法正确显示。
很抱歉,如果我用英语表达不好。
答案 0 :(得分:0)
“\ xc3 \ xb3”是“ó”。在使用stripslashes($ str)删除斜线时,你也失去了unicode转义,因此只能得到奇怪的字符而不是你正在寻找的小拉丁字符。不熟悉PHP,但尝试没有该功能运行。