-
Conteúdo Similar
-
Por Jonathan Gibim
Estou precisando fazer consultas em tabelas com CHARSET UTF-8 e COLLATION utf8_general_ci os dados no BD ficam salvos da seguinte forma
Ex: São Paulo no BD fica São Paulo
Ao buscar "São Paulo" eu converto para São Paulo e realizo a busca normalmente, porem ao buscar "Sao Paulo" sem a acentuação não me retorna nada, tem alguma ideia do que posso fazer?
-
Por fabiopfoto
Pessoal, preciso de ajuda, tenho uma tabela no meu mysql, que foi importado pronto, as o problema é que alguns textos vieram como "Páginas ", e preciso substituir para "Páginas".
Como faço essa substituição diretamente no mysql, pois não posso mudar no php, pois o site todo está configurado corretamente, somente esse campo na tabela que veio todo errado.
Preciso substituir todos os caracteres especiais como "á" para "á" ou "çõ" para "çõ" e etc.
-
Por marcossantana10
To criando um blog e preciso salvar a imagem que upo junto com a noticia com o nome do título dessa notícia, porém, sem acentos e espaços. Uso uma função que tá resolvendo o problema dos espaços, no entanto, não o dos caracteres especiais.
Função:
function formataUrl($nome){
$url = strtolower($nome);
$url = str_replace(" ", "-", $url);
$url = preg_replace(array("/(á|à|ã|â|ä)/","/(Á|À|Ã|Â|Ä)/","/(é|è|ê|ë)/","/(É|È|Ê|Ë)/","/(í|ì|î|ï)/","/(Í|Ì|Î|Ï)/","/(ó|ò|õ|ô|ö)/","/(Ó|Ò|Õ|Ô|Ö)/","/(ú|ù|û|ü)/","/(Ú|Ù|Û|Ü)/","/(ñ)/","/(Ñ)/"),explode(" ","a A e E i I o O u U n N"), $url);
return $url;
}
Eu uso assim:
$titulo = $_POST['titulo'];
$data = $_POST['data'];
$autor = $_POST['autor'];
$url = formataUrl($titulo);
$texto = $_POST['texto'];
$capa = $_FILES['capa'];
Logo, se eu cadastrar: "Função de teste", ele deveria salvar no banco: "funcao-de-teste", mas ele salva: "fun????o-de-teste".
Dá pra ver onde estou errando?
-
Por Douglas Ramos
Olá, muito prazer! Atuo desde o ano de 2009 com Marketing Digital, tenho um homeoffice e ofereço mas de 10 serviços. Até então trabalhava apenas com algumas empresas, divulgando produtos e serviços em redes sociais e dando consultoria mas por causa da crise do Brasil fui obrigado a tomar algumas atitudes. Pois bem, utilizei o construtor de sites da redehost para criar meu próprio site: adicionei botões de compartilhamento da redes sociais, mas ao clicar em curtir ou +1 as letras que possuem acento ficam desconfiguradas. Você pode me ajudar? A parte técnica do site sempre foi o meu fraco, até então sempre pude contar com a ajuda de um webdesigner mas por motivos maiores tivemos que desfazer nossa parceria.
O site em questão é esse: http://www.dmsmarketingdigital.com.br
Recomendo acessar alguma página que conte acendo e clique em Curtir para você ver o que acontece.
Sugestão: http://www.dmsmarketingdigital.com.br/dmsmarketingdigital_sobre_missao.aspx
Desde já agradeço!
-
Por xarlixim
Sou iniciante, peguei um cod pronto e mudei poucas coisas, bem simples msm é só pra mim aprender PDO porque parece que na versão 7 do PHP não vai estar mais em uso as funções mysql_(). O problema é que quando envio algum dado para o banco com caractere especial ele não armazena corretamente, exemplo: Se eu envio o campo nome = "José" ele guarda "José" ou então nome = "Beraldão" ele guarda "Beraldão". Aqui está os cods:
Obs: já tentei mudar o charset no phpmyadmin e no próprio cod e nada deu certo. (Uso o xampp se isso ajuda).
index.php
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”> <html> <head> <title>Teste PHP/PDO</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> </head> <body> <form method="GET" action="pesquisa.php"> <input type="text" id="nome" name="nome" size="15"> <br/> <input type="submit" value="Pesquisar"> </form> </body> </html> pesquisa.php
<?php include_once('conexao.php'); header('Content-Type: text/html; charset=utf-8'); /* SELECT */ /* $nome = '%'.$_GET['nome'].'%'; try { $sql = "SELECT * FROM `programadores` WHERE `nome` LIKE :nome;"; $stm = $PDO->prepare( $sql ); $stm->bindParam( ':nome' , $nome , PDO::PARAM_STR ); if ( $stm->execute() ) { foreach ( $stm->fetchAll( PDO::FETCH_OBJ ) as $usuario ) { echo 'Nome: ' , $usuario->nome , PHP_EOL .'<br/>'; echo 'Site: ' , $usuario->site , PHP_EOL .'<br/>'; //... } } } catch ( PDOException $e ) { var_dump( $e->getMessage() ); } */ /* INSERT */ $nome = $_GET['nome']; $site = 'http://microsoft.com'; $sql = "INSERT INTO programadores(nome, site) VALUES(:nome, :site)"; $stm = $PDO->prepare( $sql ); $stm->bindParam( ':nome', $nome ); $stm->bindParam( ':site', $site ); $result = $stm->execute(); if ( ! $result ) { var_dump( $stm->errorInfo() ); exit; } echo $stm->rowCount() . " linhas inseridas."; ?> conexao.php (funciona sem problemas)
<?php define( 'MYSQL_HOST', 'localhost' ); define( 'MYSQL_USER', 'root' ); define( 'MYSQL_PASSWORD', '' ); define( 'MYSQL_DB_NAME', 'teste' ); try { $PDO = new PDO( 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASSWORD ); $PDO->setAttribute( PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION ); } catch ( PDOException $e ) { var_dump( $e->getMessage() ); } ?> Desde já agradeço a quem puder ajudar.
-