"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como lidar com caracteres UTF-8 malformados na codificação PHP JSON?

Como lidar com caracteres UTF-8 malformados na codificação PHP JSON?

Publicado em 2024-11-07
Navegar:991

How to Handle Malformed UTF-8 Characters in PHP JSON Encoding?

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.

Declaração de lançamento Este artigo foi reimpresso em: 1729296256 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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