Tratamento de caracteres UTF-8 malformados na codificação PHP JSON
Ao usar json_encode() para serializar um array contendo caracteres russos, você pode encontrar um erro relacionado a caracteres UTF-8 malformados. Para resolver esse problema, execute as seguintes etapas:
Etapa 1: Identifique a codificação de caracteres
Use mb_detect_encoding() para determinar a codificação do campo que contém caracteres russos. Confirme se é realmente UTF-8, conforme relatado no seu exemplo.
Etapa 2: remover caracteres não UTF-8
Embora o campo possa ser codificado principalmente em UTF-8, ainda pode conter caracteres não UTF-8. Para removê-los, use a função mb_convert_encoding():
$data['name'] = mb_convert_encoding($data['name'], 'UTF-8', 'UTF-8');
Esta ação substituirá quaisquer caracteres não UTF-8 por suas representações de espaço reservado equivalentes, garantindo que a string permaneça válida para codificação JSON.
Etapa 3: serializar com codificação JSON
Depois que os caracteres não UTF-8 forem removidos, você poderá serializar os dados com sucesso usando json_encode(). O JSON resultante será válido e conterá a representação correta dos caracteres russos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3