"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 posso converter caracteres não ASCII em equivalentes ASCII em PHP?

Como posso converter caracteres não ASCII em equivalentes ASCII em PHP?

Publicado em 2024-11-18
Navegar:395

How can I convert non-ASCII characters to ASCII equivalents in PHP?

Transliteração PHP

P: Posso converter caracteres não ASCII em seus equivalentes ASCII em PHP?

R: Sim, você pode usar a função iconv com a codificação de transliteração para fazer isso.

A codificação de transliteração em iconv permite aproximar caracteres não ASCII usando caracteres ASCII de aparência semelhante. Isso é útil para gerar URLs que contêm apenas caracteres ASCII.

Aqui está um exemplo de como usar iconv com transliteração:

$string = "こんにちは";
$result = iconv("UTF-8", "ASCII//TRANSLIT", $string);
echo $result; // Output: konnichiwa

Neste exemplo, a string codificada em UTF-8 é convertida para ASCII usando transliteração. A string resultante contém apenas caracteres ASCII e ainda se parece com a string original.

Aqui está um exemplo completo que corresponde ao seu caso de uso de exibição de URLs somente ASCII:

$url = "https://example.com/にほんご";
$asciiUrl = iconv("UTF-8", "ASCII//TRANSLIT", $url);
echo "Visit our website";

Isso gerará um URL que contém apenas caracteres ASCII e ainda redirecionará os usuários para a página pretendida.

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