Php print () string árabe
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?
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:
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,