marcosfg 0 Denunciar post Postado Outubro 17, 2013 Galera, alguém poderia me ajudar? Eu tenho um formulário de cadastro, eu queria que quando o usuário cadastrar com nome que tem acento, antes de ir para o banco fosse tirado automaticamente esse acento, exemplo (José, João) no banco fosse (Jose, Joao) sem acento, alguém sabe como fazer? procurei muito pelos sites, até achei, mais não resolveu, foi cadastrado como acento. Compartilhar este post Link para o post Compartilhar em outros sites
Lauro Daniel 15 Denunciar post Postado Outubro 17, 2013 Olá amigo, use str replace, ou então pesquise funções para remover caracteres especiais. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Outubro 17, 2013 :seta: Remover acentos em strings php Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Outubro 17, 2013 eu já achei várias funções para remover acentos, talvez não deu certo porque eu não soube colocar no local certo, como eu tenho que fazer a declaração da função e como eu faço para chama-la no insert para tirar o acento antes de ir para o banco? Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Outubro 17, 2013 Você esta tendo problemas com buscas em sua aplicação, para ter a necessidade de remover os acentos? Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Outubro 17, 2013 Eu estou usando este comando (UPPER('$nome')) independente do que o usuário digitar vai tudo que com letra maiúscula, só que quando digita com acento esse comando não muda para tudo maiúsculo, aquela letra fica minúscula, exemplo gonçalves daí muda para GONçALVES, para evitar isso eu queria tirar esses caracteres especiais. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Outubro 17, 2013 alguém me ajuda por favor!!! Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 17, 2013 no php, utilize mb_strtoupper() Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Outubro 17, 2013 hinom eu coloquei assim (UPPER(mb_strtoupper('$nome'))), esta certo? pois não aconteceu nada, nenhum campo foi adicionado no banco. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 17, 2013 UPPER() é um função do MYSQL mb_strtoupper() é do PHP mostre o trecho do código.. só a parte relevante onde tem a montagem do query sql.. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Outubro 17, 2013 estou colocando nessa parte; $sql = "INSERT INTO tblmembros (cpf, nome, endereco, numero, complemento, bairro, cidade, cep, telefone, celular, comercial,conjuge, pai, mae, civil, casamento, nascimento, filhos, email, rg, profissao, membro, datajurisdicao, vindodaigreja,cargonaigreja, departamento, nomefilho1, nascimentofilho1, nomefilho2, nascimentofilho2, nomefilho3, nascimentofilho3,nomefilho4, nascimentofilho4, nomefilho5, nascimentofilho5, nomefilho6, nascimentofilho6) VALUES ('$cpf', (UPPER('$nome')), '$endereco','$numero', '$complemento', '$bairro', '$cidade', '$cep', '$telefone', '$celular', '$comercial', '$conjuge', '$pai', '$mae','$civil', '$casamento', '$nascimento', '$filhos', '$email', '$rg', '$profissao', '$membro', '$datajurisdicao', '$vindodaigreja','$cargonaigreja', '$departamento', '$nomefilho1', '$nascimentofilho1', '$nomefilho2', '$nascimentofilho2', '$nomefilho3','$nascimentofilho3', '$nomefilho4', '$nascimentofilho4', '$nomefilho5', '$nascimentofilho5', '$nomefilho6', '$nascimentofilho6')"; Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 17, 2013 nesse trecho (UPPER('$nome')), '$endereco', troque por '$nome', '$endereco', Antes de $sql = "INSERT IN.. Coloque assim $nome = mb_strtoupper($nome); blezinha? daí mostre o code como ficou pra ver se vc entendeu mesmo Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Outubro 17, 2013 cara achei na primeira pagina do google function retira_acentos($texto) { $array1 = array( "á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç" , "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç" ); $array2 = array( "a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c" , "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C" ); return str_replace( $array1, $array2, $texto); } $texto = retira_acentos('João'); echo $texto//retorna João ou seja antedes de da o insert, coloque essa função nos post ex: <?php $titulo = retira_acentos($_POST[titulo]); $texto = retira_acentos($_POST[texto]); insert into tabela (titulo,texto) values ('$titulo','$texto'); ?> desse modo vai retirar os acentos. e se o problema e por que vai, assim: GONçALVES usando a função mb_strtoupper() desse modo. <?php $titulo = mb_strtoupper($_POST[titulo]); $texto = mb_strtoupper($_POST[texto]); insert into tabela (titulo,texto) values ('$titulo','$texto'); ?> vai resolver. Compartilhar este post Link para o post Compartilhar em outros sites
tiagofelipebones 5 Denunciar post Postado Outubro 17, 2013 usa esse que está funcionando ! <?phpfunction acento($str, $enc = "UTF-8"){$acentos = array('À'=>'/À/','à'=>'/à/','Á'=>'/Á/','á'=>'/á/','Â'=>'/Â/','â'=>'/â/','Ã'=>'/Ã/','ã'=>'/ã/','Ä'=>'/Ä/','ä'=>'/ä/','È'=>'/È/','è'=>'/è/','É'=>'/É/','é'=>'/é/','Ê'=>'/Ê/','ê'=>'/ê/','Ë'=>'/Ë/','ë'=>'/ë/','Ì'=>'/Ì/','ì'=>'/ì/','Í'=>'/Í/','í'=>'/í/','Î'=>'/Î/','î'=>'/î/','Ï'=>'/Ï/','ï'=>'/ï/','Ò'=>'/Ò/','ò'=>'/ò/','Ó'=>'/Ó/','ó'=>'/ó/','Ô'=>'/Ô/','ô'=>'/ô/','Õ'=>'/Õ/','õ'=>'/õ/','Ö'=>'/Ö/','ö'=>'/ö/','Ù'=>'/Ù/','ù'=>'/ù/','Ú'=>'/Ú/','ú'=>'/ú/','Û'=>'/Û/','û'=>'/û/','Ü'=>'/Ü/','ü'=>'/ü/','Ý'=>'/Ý/','ý'=>'/ý/','Ç'=>'/Ç/','ç'=>'/ç/','Ñ'=>'/Ñ/','ñ'=>'/ñ/','ª'=>'/ª/','º'=>'/°/',);return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));}function acento_js($str){$acentos = array('á' => '\u00e1','à' => '\u00e0','â' => '\u00e2','ã' => '\u00e3','ä' => '\u00e4','Á' => '\u00c1','À' => '\u00c0','Â' => '\u00c2','Ã' => '\u00c3','Ä' => '\u00c4','é' => '\u00e9','è' => '\u00e8','ê' => '\u00ea','ê' => '\u00ea','É' => '\u00c9','È' => '\u00c8','Ê' => '\u00ca','Ë' => '\u00cb','í' => '\u00ed','ì' => '\u00ec','î' => '\u00ee','ï' => '\u00ef','Í' => '\u00cd','Ì' => '\u00cc','Î' => '\u00ce','Ï' => '\u00cf','ó' => '\u00f3','ò' => '\u00f2','ô' => '\u00f4','õ' => '\u00f5','ö' => '\u00f6','Ó' => '\u00d3','Ò' => '\u00d2','Ô' => '\u00d4','Õ' => '\u00d5','Ö' => '\u00d6','ú' => '\u00fa','ù' => '\u00f9','û' => '\u00fb','ü' => '\u00fc','Ú' => '\u00da','Ù' => '\u00d9','Û' => '\u00db','ç' => '\u00e7','Ç' => '\u00c7','ñ' => '\u00f1','Ñ' => '\u00d1','á' => '\u00e1','à' => '\u00e0','â' => '\u00e2','ã' => '\u00e3','ä' => '\u00e4','Á' => '\u00c1','À' => '\u00c0','Â' => '\u00c2','Ã' => '\u00c3','Ä' => '\u00c4','é' => '\u00e9','è' => '\u00e8','ê' => '\u00ea','É' => '\u00c9','È' => '\u00c8','Ê' => '\u00ca','Ë' => '\u00cb','í' => '\u00ed','ì' => '\u00ec','Î' => '\u00ee','ï' => '\u00ef','Í' => '\u00cd','Ì' => '\u00cc','Î' => '\u00ce','Ï' => '\u00cf','ó' => '\u00f3','ò' => '\u00f2','ô' => '\u00f4','õ' => '\u00f5','ö' => '\u00f6','Ó' => '\u00d3','Ò' => '\u00d2','Ô' => '\u00d4','Õ' => '\u00d5','Ö' => '\u00d6','ú' => '\u00fa','ù' => '\u00f9','û' => '\u00fb','ü' => '\u00fc','Ú' => '\u00da','Ù' => '\u00d9','Û' => '\u00db','ç' => '\u00e7','Ç' => '\u00c7','ñ' => '\u00f1','Ñ' => '\u00d1',);return strtr( $str, $acentos);}function remover($str, $enc = "UTF-8"){$remove = array('A' => '/À|Á|Â|Ã|Ä|Å/','a' => '/à|á|â|ã|ä|å/','C' => '/Ç/','c' => '/ç/','E' => '/È|É|Ê|Ë/','e' => '/è|é|ê|ë/','I' => '/Ì|Í|Î|Ï/','i' => '/ì|í|î|ï/','N' => '/Ñ/','n' => '/ñ/','O' => '/Ò|Ó|Ô|Õ|Ö/','o' => '/ò|ó|ô|õ|ö/','U' => '/Ù|Ú|Û|Ü/','u' => '/ù|ú|û|ü/','Y' => '/Ý/','y' => '/ý|ÿ/','a.' => '/ª/','o.' => '/º/');return strtolower(preg_replace($remove, array_keys($remove), htmlentities($str,ENT_NOQUOTES, $enc)));}?> ex: acento('joão'); irá retornar joão remover('joão'); irá retornar joao e para alert js <script type="text/javascript">alert("Insira o Sobrenome do Aluno!")document.location.href= "<?=acento_js( 'joão')?>"</script> acento_js('joão'); irá retornar jo\u00e3o Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 17, 2013 povo caindo de para-quedas sem ler direito.... Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Outubro 17, 2013 @hinon concordo! O problema dele é só na inserção dos dados, e galera querendo evitar um problema causando outro! :pinch: ...só complementando o que está no post #12, se tiver problema com os caracteres acentuados, assim como já tive, mesmo com scripts, banco e etc em UTF-8, basta setar como utf-8. $nome = mb_strtoupper($nome, 'utf-8'); Compartilhar este post Link para o post Compartilhar em outros sites
paulinhosupriano 103 Denunciar post Postado Outubro 17, 2013 Olá meu amigo, Bom para solucionar seu problema criei fiz um script bem simples e funcional, caso tenha conhecimento em funções em php poderá ajuda-lo e muito neste caso que se trata de informações para banco de dados. Segue o meu código criado.... $nome = utf8_decode("jOÃO pAULO sOUSA sUPRIANO"); $encontrar = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜüÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ'; $modificar = 'aaaaaaaceeeeiiiidnoooooouuuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'; $nome = strtr($nome, utf8_decode($encontrar), $modificar); $nome = strip_tags(trim($nome)); $nome = strtoupper($nome); echo $nome; caso tenha solucionado coloca solucionado e me dar um creditozinho no site :D.. bom para funcionar utilizei o utf8_decode para codificar em utf8 o valor colocado podendo ser uma variavel e não o texto escrito manual. criei duas váriaveis o encontrar e o modificar usando a função nativa que o PHP nos oferece strtr que codifica a variavel encontrar para ficar igual a digitada acima e caso encontre modifica para a variavel modificar. obs ambas as variaveis com o mesmo tamanho de caracteres. depois para garantir usei o strip_tags da uma olhadinha no manual do PHP para entender desta função nativa do PHP. e no final coloquei a váriavel para ficar todos os caracteres em maiusculos podendo ser modificado para o strtolower deixar todas em minusculo. e mostrei a variavel. Att: João Paulo Sousa Supriano Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 17, 2013 jesus!!!!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Outubro 17, 2013 jesus!!!!!!!! kkkkkkkkkkkkkkkkkkkkkk ne, o que foi postado ai em cima, ja deu para resolver o problema, só que a galera ñ ler :p Compartilhar este post Link para o post Compartilhar em outros sites
paulinhosupriano 103 Denunciar post Postado Outubro 17, 2013 @ erison , Verdade, por isso digo novamente. Caso o post de nossos amigos venha solucionar o seu problema e de mais amigos com o mesmo peço que coloque como resolvido dando creditos a tem resolveu o seu problema. Agradeço a todos os colegas que postam e ajuda a muitos. Qualquer dúvida do mesmo deixe sua mensagem pessoal em meu imasters. Att: João Paulo Sousa Supriano Compartilhar este post Link para o post Compartilhar em outros sites