Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Caracteres no php


ewerton assunção

Pergunta

Ola galera segue o link quero criar um gerenciador de noticias http://www.alinenetzel.com/grey.html

td funciona td certo mas olhem as noticas é só la que os caracteres não estão sendo reconhecidos , se eu for no mysql e mudar por la as noticias fica com acento mas quando escrevo pelo PHPnews que é o formulario n esta dando certo ele envia sem acentos

se alguém puder ajudar obrigado

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

então quando você usa o formulário para inserir a notícia la no mysql mesmo aparece o texto todo errado, mas quando você escreve direto no banco as notícias ficam corretas?

então o problema é na hora de salvar, ai o negócio é na hora que o PHPnews salva o texto no banco tente:

utf8_decode("$texto");
/*Isso já acho que resolva e escreva os acentos no banco de dados

se não resolver tente*/
htmlspecialchars(utf8_decode("$texto"), ENT_QUOTES, "ISO-8859-15");
/*para transformar os caracteres especiais em codificação HTML*/

Espero ter ajudado

Abrass

Link para o comentário
Compartilhar em outros sites

  • 0

Onde coloco esse codigo??? já to até perdido aki de tanta coisa que já tentei hehehe

no index.php no config ???

obrigado e desculpa a ignorancia .

então quando você usa o formulário para inserir a notícia la no mysql mesmo aparece o texto todo errado, mas quando você escreve direto no banco as notícias ficam corretas?

então o problema é na hora de salvar, ai o negócio é na hora que o PHPnews salva o texto no banco tente:

utf8_decode("$texto");
/*Isso já acho que resolva e escreva os acentos no banco de dados

se não resolver tente*/
htmlspecialchars(utf8_decode("$texto"), ENT_QUOTES, "ISO-8859-15");
/*para transformar os caracteres especiais em codificação HTML*/

Espero ter ajudado

Abrass

Link para o comentário
Compartilhar em outros sites

  • 0

olha o parâmetro action do formulário que você utiliza para inserir a noticia, olha o código desse arquivo e acha a variável que armazena o texto que foi digitado digamos que seja $texto, achando essa variável você escreverá assim:

$texto = utf8_decode("$texto");

essa linha tem que ser digitada antes que o PHPnews insira a notícia no banco de dados se ainda sim a notícia apresentar erros tenta:

$texto = htmlspecialchars(utf8_decode("$texto"), ENT_QUOTES, "ISO-8859-15");

Abrass

Link para o comentário
Compartilhar em outros sites

  • 0

tentei de td não deu certo

posso passar o cod pra você dar uma olhada???

<?php

include "class.php";

include "pagina-segura.php";

$data = date ("d/m/Y",time());

$hora = strftime ("%H:%M");

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>PHPnews: Nova Notícia</title>

</head>

<link rel="stylesheet" href="estilo.css" type="text/css" />

<body>

<div id="login">

<div id="formulario">

<form action="<? $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">

<div id="esquerdo">

<h1>

<br />

<br />

<br />

<div class="buttonscontainer">

<div class="buttons">

<a href="index.php">Nova notícia</a>

<a href="noticias.php">Editar notícias</a>

<a href="configuracoes.php">Configurações</a>

<a href="sair.php">Sair</a>

</div>

</div>

</h1>

</div>

<div id="direito">

<h1>Nova Notícia</h1>

<h2>

Título:<br />

<input name="titulo" type="text" size="39" /><p />

Descricao:<br />

<input name="descricao" type="text" size="39" /><p />

Imagem:<br />

<input name="foto" type="file" size="14" /><p />

Notícia:<br />

<textarea name="noticia" cols="25" rows="5"></textarea><p />

<input type="hidden" name="data" value="<?php echo $data ?>">

<input type="hidden" name="hora" value="<?php echo $hora ?>">

<input id="enviar" name="enviar" value="Publicar" type="submit"> <?

if(isset($_POST["enviar"])) {

$titulo = $_POST["titulo"];

$descricao = $_POST["descricao"];

$noticia = $_POST["noticia"];

$data = $_POST["data"];

$hora = $_POST["hora"];

$foto = $_FILES['foto']['name'];

$foto_tmp = $_FILES['foto']['tmp_name'];

$path = "conteudo/uploads/";

$caminho = "../conteudo/uploads/";

$arquivo = $foto;

$path_foto = $path.$arquivo;

/* move o arquivo pra pasta imagens */

move_uploaded_file($foto_tmp,$caminho.$foto);

/* insere no banco de dados */

$sql = mysql_query("INSERT INTO noticias (id, titulo, descricao, noticia, foto, data, hora) VALUES('','$titulo','$descricao','$noticia', '$path_foto','$data','$hora')");

if($sql){

echo "Notícia publicada!";

}else{

echo "<h2><font color='#FF0000'>Erro</font>

</h2>

Houve um erro:<br />

<blockquote>".mysql_error()."</blockquote>";

}

}

?>

</h2>

</div>

</form>

</div>

</div>

</body>

</html>

valeww obrigado

olha o parâmetro action do formulário que você utiliza para inserir a noticia, olha o código desse arquivo e acha a variável que armazena o texto que foi digitado digamos que seja $texto, achando essa variável você escreverá assim:

$texto = utf8_decode("$texto");

essa linha tem que ser digitada antes que o PHPnews insira a notícia no banco de dados se ainda sim a notícia apresentar erros tenta:

$texto = htmlspecialchars(utf8_decode("$texto"), ENT_QUOTES, "ISO-8859-15");

Abrass

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim:

<?php 

include "class.php";
include "pagina-segura.php";

$data = date ("d/m/Y",time());
$hora = strftime ("%H:%M");

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHPnews: Nova Notícia</title>
</head>
<link rel="stylesheet" href="estilo.css" type="text/css" />

<body>

<div id="login">
<div id="formulario">
<form action="<? $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<div id="esquerdo">
<h1>
<br />
<br />
<br />
<div class="buttonscontainer">
<div class="buttons">
<a href="index.php">Nova notícia</a>
<a href="noticias.php">Editar notícias</a>
<a href="configuracoes.php">Configurações</a>
<a href="sair.php">Sair</a>
</div>
</div>
</h1>
</div>
<div id="direito">
<h1>Nova Notícia</h1>
<h2>
Título:<br />
<input name="titulo" type="text" size="39" /><p />
Descricao:<br />
<input name="descricao" type="text" size="39" /><p />
Imagem:<br />
<input name="foto" type="file" size="14" /><p />
Notícia:<br />
<textarea name="noticia" cols="25" rows="5"></textarea><p />
<input type="hidden" name="data" value="<?php echo $data ?>">
<input type="hidden" name="hora" value="<?php echo $hora ?>">
<input id="enviar" name="enviar" value="Publicar" type="submit"> <?
if(isset($_POST["enviar"])) {

$titulo = utf8_decode($_POST["titulo"]);
$descricao = utf8_decode($_POST["descricao"]);;
$noticia = utf8_decode($_POST["noticia"]);
$data = $_POST["data"];
$hora = $_POST["hora"];
$foto = $_FILES['foto']['name'];
$foto_tmp = $_FILES['foto']['tmp_name'];

$path = "conteudo/uploads/";
$caminho = "../conteudo/uploads/";
$arquivo = $foto;
$path_foto = $path.$arquivo;

/* move o arquivo pra pasta imagens */
move_uploaded_file($foto_tmp,$caminho.$foto);

/* insere no banco de dados */
$sql = mysql_query("INSERT INTO noticias (id, titulo, descricao, noticia, foto, data, hora) VALUES('','$titulo','$descricao','$noticia', '$path_foto','$data','$hora')");
if($sql){
echo "Notícia publicada!";
}else{
echo "<h2><font color='#FF0000'>Erro</font>
</h2>
Houve um erro:<br />
<blockquote>".mysql_error()."</blockquote>";
}
}
?>
</h2>
</div>
</form>
</div>
</div>
</body>
</html>
Se ainda der erro tenta assim:
<?php 

include "class.php";
include "pagina-segura.php";

$data = date ("d/m/Y",time());
$hora = strftime ("%H:%M");

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHPnews: Nova Notícia</title>
</head>
<link rel="stylesheet" href="estilo.css" type="text/css" />

<body>

<div id="login">
<div id="formulario">
<form action="<? $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<div id="esquerdo">
<h1>
<br />
<br />
<br />
<div class="buttonscontainer">
<div class="buttons">
<a href="index.php">Nova notícia</a>
<a href="noticias.php">Editar notícias</a>
<a href="configuracoes.php">Configurações</a>
<a href="sair.php">Sair</a>
</div>
</div>
</h1>
</div>
<div id="direito">
<h1>Nova Notícia</h1>
<h2>
Título:<br />
<input name="titulo" type="text" size="39" /><p />
Descricao:<br />
<input name="descricao" type="text" size="39" /><p />
Imagem:<br />
<input name="foto" type="file" size="14" /><p />
Notícia:<br />
<textarea name="noticia" cols="25" rows="5"></textarea><p />
<input type="hidden" name="data" value="<?php echo $data ?>">
<input type="hidden" name="hora" value="<?php echo $hora ?>">
<input id="enviar" name="enviar" value="Publicar" type="submit"> <?
if(isset($_POST["enviar"])) {

$titulo = htmlspecialchars(utf8_decode($_POST["titulo"]), ENT_QUOTES, "ISO-8859-15");
$descricao = htmlspecialchars(utf8_decode($_POST["descricao"]), ENT_QUOTES, "ISO-8859-15");
$noticia = htmlspecialchars(utf8_decode($_POST["noticia"]), ENT_QUOTES, "ISO-8859-15");
$data = $_POST["data"];
$hora = $_POST["hora"];
$foto = $_FILES['foto']['name'];
$foto_tmp = $_FILES['foto']['tmp_name'];

$path = "conteudo/uploads/";
$caminho = "../conteudo/uploads/";
$arquivo = $foto;
$path_foto = $path.$arquivo;

/* move o arquivo pra pasta imagens */
move_uploaded_file($foto_tmp,$caminho.$foto);

/* insere no banco de dados */
$sql = mysql_query("INSERT INTO noticias (id, titulo, descricao, noticia, foto, data, hora) VALUES('','$titulo','$descricao','$noticia', '$path_foto','$data','$hora')");
if($sql){
echo "Notícia publicada!";
}else{
echo "<h2><font color='#FF0000'>Erro</font>
</h2>
Houve um erro:<br />
<blockquote>".mysql_error()."</blockquote>";
}
}
?>
</h2>
</div>
</form>
</div>
</div>
</body>
</html>
o que eu fiz foi trocar essas linhas
$titulo = $_POST["titulo"];
$descricao = $_POST["descricao"];
$noticia = $_POST["noticia"];
$data = $_POST["data"];
$hora = $_POST["hora"];
$foto = $_FILES['foto']['name'];
$foto_tmp = $_FILES['foto']['tmp_name'];
primeiro por essas:
$titulo = utf8_decode($_POST["titulo"]);
$descricao = utf8_decode($_POST["descricao"]);;
$noticia = utf8_decode($_POST["noticia"]);
$data = $_POST["data"];
$hora = $_POST["hora"];
$foto = $_FILES['foto']['name'];
$foto_tmp = $_FILES['foto']['tmp_name'];
e depois por essas:
$titulo = htmlspecialchars(utf8_decode($_POST["titulo"]), ENT_QUOTES, "ISO-8859-15");
$descricao = htmlspecialchars(utf8_decode($_POST["descricao"]), ENT_QUOTES, "ISO-8859-15");
$noticia = htmlspecialchars(utf8_decode($_POST["noticia"]), ENT_QUOTES, "ISO-8859-15");
$data = $_POST["data"];
$hora = $_POST["hora"];
$foto = $_FILES['foto']['name'];
$foto_tmp = $_FILES['foto']['tmp_name'];

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...