Jhonas55 Postado Setembro 18, 2011 Denunciar Share Postado Setembro 18, 2011 Olá, eu queria saber por que na minha página os acentos saem errados o acento agudo vira um tio, exemplo: Início → InÃcio. Usei o seguinte código:<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >Funcionou... Na parte de cima por que aonde e include do PHP continua igual. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas55 Postado Setembro 19, 2011 Autor Denunciar Share Postado Setembro 19, 2011 Consegui arrumar, era só salvar o arquivo como UTF-8 e depois colocar o código da codificação, mas agora eu queria saber como fazer o php gerar um arquivo também com UTF-8.$openfile = fopen("nome_do_arquivo.php", "a"); $writefile = fwrite($openfile, "Este texto vai ser escrito no arquivo."); fclose($openfile);O código que eu uso no meu site e parecido com este, as pessoas deixam mensagens e o php gera um arquivo ou adiciona no mesmo, para eu ver depois mas se o usuário deixar uma mensagem acentuada o acento não sai, fica assim: Olá → Ol�. Só quero que o PHP peque a mensagem da textarea e depois salve no arquivo que eu deixei lá mas que salve em UTF-8 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Willian Gustavo Veiga Postado Setembro 20, 2011 Denunciar Share Postado Setembro 20, 2011 (editado) Na documentação da função fwrite existe um comentário sobre isso:For those who, like me, lost a lot of minutes (hours) to understand why fwrite doesn't create a real utf-8 file, here's the explanation I've found :I tried to do something like this :<?php$myString = utf8_encode("Test with accents éèàç");$fh=fopen('test.xml',"w");fwrite($fh,$myString);fclose($fh);?>For a mysterious reason, the resulted file shows the accent without the utf-8 conversion.I tried the binary, mode, etc. etc. And finally I've found it :It seems that fwrite NEEDS to have the utf8_encode function INSIDE its parameters like this, to understand it must create a non-text only file :<?php$myString = "Test with accents éèàç";$fh=fopen('test.xml',"w");fwrite($fh,utf8_encode($myString));fclose($fh);?>Hope this will helpUm abraço. Editado Setembro 20, 2011 por Willian Gustavo Veiga Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jhonas55
Olá, eu queria saber por que na minha página os acentos saem errados o acento agudo vira um tio, exemplo: Início → InÃcio. Usei o seguinte código:
Funcionou... Na parte de cima por que aonde e include do PHP continua igual.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.