Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guga01

[Resolvido] acentuação

Recommended Posts

Bom dia pessoal!

 

Estou com problemas de acentuação. O banco de dados é mysql, cujo conjunto de caracteres é utf-8 unicode (utf8) e a collation de conexao é utf8_general_ci.

 

Tenho o seguinte código:

 

html:

echo "<form>";

echo "<div class='campoFormulario'>";
echo "<div class='campo'>";
echo "* Nome";
echo "</div> <!-- Fim da div campo -->";
echo "<div class='valor'>";
echo "<input type='text' id='nome' name='nome' value='' class='textoBox' maxlength='120' tabindex='1' />";
echo "</div> <!-- Fim da div valor -->";
echo "</div> <!-- Fim da div campoFormulario -->";
echo "</form>";

echo "<div id='areaFuncoes'>";
echo "<img src='" . $pastaBaseTema . "images/site/botaoEnviar.jpg' width='100' height='31' alt='' id='adicionaNovoEquipamento' />";
echo "</div> <!-- Fim da div areaFuncoes -->";

 

jquery:

var postAdicionaNovoEquipamento = function () {
	mostraProcessando();

	var nomeE = $('#nome').val();

	$.post('gravaEquipamento.php', 
	{ nome: nomeE },
	function(data) {
		escondeProcessando();

		$('.resultado').html(data);

		var dados = $('.resultado').html(data).find('img').attr('src');

		if (dados == 'temas/default/images/site/ok.gif')
		{
			$('.resultadoNaoOk').hide();
			$('.areaConteudoResultadoOk').html(data);
			$('.resultadoOk').show();
		}
		else
		{
			$('.resultadoOk').hide();
			$('.areaConteudoResultadoNaoOk').html(data);
			$('.resultadoNaoOk').show();
		}
	},
	'html');
	return false;
};

$('#adicionaNovoEquipamento').bind('click', postAdicionaNovoEquipamento);

 

E a função chamada pelo jquery que grava os dados no banco:

<?php
//header("Content-Type: text/html; charset=UTF-8",true);
/*mb_internal_encoding("UTF-8");
mb_http_output( "iso-8859-1" ); 
ob_start("mb_output_handler");   
header("Content-Type: text/html; charset=ISO-8859-1",true);*/
//header('Content-type: text/html; charset=utf-8', true);

// start output buffering at the top of our script with this simple command
// we've added "ob_gzhandler" as a parameter of ob_start
//ob_start('ob_gzhandler');

// código para mostrar todos os erros enquanto a aplicação é testada
//error_reporting(E_ALL);
//ini_set('display_errors', true);

// quando a aplicação estiver pronta e liberada para o usuário, esconder as mensagens de erro através do comando:
// error_reporting(0)

include_once "includes/verifica.php";
include_once "includes/config.php";
include_once "includes/funcoes.php";

$nomeEquipamentoTemp1 = mysql_real_escape_string($_POST['nome']);
$nomeEquipamentoTemp2 = trim($nomeEquipamentoTemp1);
$nomeEquipamento = utf8_decode($nomeEquipamentoTemp2);
//echo $nomeEquipamento;

if (strlen($nomeEquipamento) > 0)
{
	// este equipamento já está cadastrado no sistema?
	$sqlExisteEquipamento = "SELECT * FROM equipamentos WHERE nome = '$nomeEquipamento'";
	$resExisteEquipamento = mysql_query($sqlExisteEquipamento) or die('Erro: ' . mysql_error());
	$existe = mysql_num_rows($resExisteEquipamento);
	if ($existe)
		echo "<img src='" . $pastaBaseTema . "images/site/naoOk.gif' width='1' height='1' alt='' /> Este equipamento já está cadastrado no sistema!";
	else
	{
		$offset = "abc";
		$codigoSecretoTemp1 = $offset . uniqid();
		$codigoSecretoTemp2 = md5($codigoSecretoTemp1);
		$tamanhoCodigoSecreto = strlen($codigoSecretoTemp2);
		if ($tamanhoCodigoSecreto > 32)
			$codigoSecreto = substr($codigoSecretoTemp2, 0, 32);
		else
			$codigoSecreto = $codigoSecretoTemp2;

		$sqlNovoEquipamento = "INSERT INTO equipamentos(codigoSecreto, 
														nome, 
														dataCadastro, 
														dataAtualizacao) 
							   VALUES('$codigoSecreto', 
									  '$nome', 
									  NOW(), 
									  NOW())";
		$resNovoEquipamento = mysql_query($sqlNovoEquipamento) or die('Erro: ' . mysql_error());

		// retorna mensagem de ok
		echo "<img src='" . $pastaBaseTema . "images/site/ok.gif' width='1' height='1' alt='' /> Novo equipamento cadastrado com sucesso!";
	}
}
else
	echo "<img src='" . $pastaBaseTema . "images/site/naoOk.gif' width='1' height='1' alt='' /> Os dados obrigatórios não foram preenchidos!";


// fechar a conexão do banco de dados
mysql_close($conexaoBanco);


//ob_end_flush();
?>

 

Como vocês podem ver pelo monte de código comentado, estou tentando de várias formas, mas não tem como gravar um texto acentuado corretamente. Por que? O que devo fazer? Obrigado.

 

Apesar de eu ter colocado este post há pouco tempo atrás, já consegui resolvê-lo antes mesmo de alguém vê-lo. Por isso, podem removê-lo. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

provavelmente um header com php, ou codificando o arquivo em utf8 sem bom, resolveria.

 

http://wbruno.com.br/blog/2011/04/19/problemas-acentuacao-ajax-como-resolver/

 

qndo resolver, poste como foi, pois o tópico pode ajudar mais pessoas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.