Pergunta

Quando tento executar este código para imprimir uma corda árabe: print("إضافة"); Eu recebo esta saída: إضاÙØ©. Se eu utf8_decode (), eu vou conseguir ?????. Eu tenho "AddLanguage AR" na minha configuração do Apache, mas isso não ajuda. Como faço para imprimir essa corda árabe?

Foi útil?

Solução

Defina também o idioma da sua página como UTF8, por exemplo:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

E então veja se funcionou. Se isso ainda não funcionar, vá e confira isso, é uma solução completa para a linguagem árabe usando PHP:

http://www.ar-php.org/en_index_php_arabic.html

Você pode querer conferir isso também:

http://www.phpclasses.org/browse/package/2875.html

Outras dicas

Pode ser necessário indicar ao navegador qual charset você está usando-acho que é UTF-8.

Para conseguir isso, você pode tentar colocar essa parte do código no início do seu script, antes que qualquer saída seja gerada:

header('Content-type: text/html; charset=UTF-8');


[UTF8_DECODE][1] tentará decodificar sua string de UTF-8 para Latin1, que não é adequado para caracteres árabes-daí o '?' personagens.

Você pode querer definir

default_charset = "utf-8"

na tua php.ini. CHARSET PADRÃO A diretiva instrui o servidor a produzir cabeçalho de tipo de conteúdo correto.

Você também pode fazer isso em tempo de execução:

ini_set('default_charset', 'utf-8');

Você também pode verificar a fonte do navegador se ela tiver apoio em árabe. Atenha -se a fontes comuns como Arial Unicode e Times New Roman.

Nós iremos,

Primeiro: Adicionar no início da página HTML

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Segundo: se você estiver usando dados de codificação Ajax usando Encodeuricomponent

Terceiro: a primeira linha da sua página PHP deve ser

header('Content-Type: text/html; charset=utf-8'); 

e decodificar os dados enviados para PHP usando urldecode

Cumprimentos,

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top