Carlos Rocha Posted January 6, 2020 at 02:43 PM Report Share #616988 Posted January 6, 2020 at 02:43 PM Tenho esse método: public function cadastrar (Clientes $cliente) : bool { $sql = "INSERT INTO clientes SET nome = ?, documento = ?, senha = ?, endereco = ?, numero = ?, complemento = ?, bairro = ?, estado = ?, cidade = ?, cep = ?, email = ?, telefone = ?, celular = ?, bloqueado = ?"; $cadastra = $this->pdo->prepare ($sql); $cadastra->bindValue ( 1, $cliente->getNome() ); $cadastra->bindValue ( 2, $cliente->getDocumento() ); $cadastra->bindValue ( 3, $cliente->getSenha() ); $cadastra->bindValue ( 4, $cliente->getEndereco() ); $cadastra->bindValue ( 5, $cliente->getNumero() ); $cadastra->bindValue ( 6, $cliente->getComplemento() ); $cadastra->bindValue ( 7, $cliente->getBairro() ); $cadastra->bindValue ( 8, $cliente->getEstado() ); $cadastra->bindValue ( 9, $cliente->getCidade() ); $cadastra->bindValue ( 10, $cliente->getCep() ); $cadastra->bindValue ( 11, $cliente->getEmail() ); $cadastra->bindValue ( 12, $cliente->getTelefone() ); $cadastra->bindValue ( 13, $cliente->getCelular() ); $cadastra->bindValue ( 14, $cliente->getBloqueado() ); print_r($cliente); $execucao = $cadastra->execute(); print_r($execucao); $this->ultimoRegistro = $this->pdo->lastInsertId(); return $execucao; } print_r($cliente); Me retorna o objeto classes\mvc\modelos\Clientes Object ( [id:classes\mvc\modelos\Clientes:private] => [nome:classes\mvc\modelos\Clientes:private] => Cleoni Tobias [documento:classes\mvc\modelos\Clientes:private] => 00432155844 [senha:classes\mvc\modelos\Clientes:private] => 1234 [endereco:classes\mvc\modelos\Clientes:private] => Rua Francisco [numero:classes\mvc\modelos\Clientes:private] => 6 [complemento:classes\mvc\modelos\Clientes:private] => Lote [bairro:classes\mvc\modelos\Clientes:private] => São Francisco [estado:classes\mvc\modelos\Clientes:private] => MG [cidade:classes\mvc\modelos\Clientes:private] => 36880 [cep:classes\mvc\modelos\Clientes:private] => 36881038 [email:classes\mvc\modelos\Clientes:private] => cleonitobias@gmail.com [telefone:classes\mvc\modelos\Clientes:private] => 3335254444 [celular:classes\mvc\modelos\Clientes:private] => 33988886655 [bloqueado:classes\mvc\modelos\Clientes:private] => Sim ) Mas quando passa para: $execucao = $cadastra->execute(); O atributo barro, com valor (no objeto) de São Francisco está sendo gravado com valor (no Banco) de São Francisco . Mas na classe de criação do banco está self::$instancia->setAttribute( PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8'); O que será que está acontecendo? Obs.: na print_r($cliente);, sai normalmente acentuada. Ou seja, parece que na hora de montar a query, o PDO não observa os caracteres Link to comment Share on other sites More sharing options...
Cerzedelo Posted January 6, 2020 at 06:58 PM Report Share #616989 Posted January 6, 2020 at 06:58 PM Veja qual a codificação da base de dados, ou da tabela e do campo bairro. Verifique tem a codificação utf8_general_ci. Se utilizar o phpmyadmin facilmente vê esse parâmetro e se necessário pode alterá-lo. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now