Andreia Regina Postado Março 21, 2007 Denunciar Share Postado Março 21, 2007 Olá pessoal!Estou com a seguinte dificuldade.Para padronizar preciso que os cadastros sejam feitos com os caracteres em maiúsculos, estou usando da forma abaixo e quando uma palavra possui acentuação, não transforma para maiúsculo tudo:foreach($_POST as $campo => $valor){ $$campo = trim(strip_tags($valor)); $$campo = strtoupper($valor); }Já tentei com o text-transform do css mas também sem sucesso no momento de gravar no banco.só que a palavra maiúscula é transformada para MAIúSCULA.Como devo proceder para corrigir isto, da forma mais prática.Desde já: obrigada Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Filipe Kiss Postado Março 21, 2007 Denunciar Share Postado Março 21, 2007 Só mesmo criando vários replaces, um pra cada letra acentuda.O Manual do PHP explica que a função não converte caracteres acentuadosBasta criar uma função que substitui essas letras e chama-lá dentro do foreach Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 21, 2007 Denunciar Share Postado Março 21, 2007 Só mesmo criando vários replaces, um pra cada letra acentuda.O Manual do PHP explica que a função não converte caracteres acentuadosBasta criar uma função que substitui essas letras e chama-lá dentro do foreachCorreção, o manual diz:"Note que os caracteres do alfabeto é determinado pelo local atual. Isto indica que no local padrão "C", caracteres como A com trema (ä) não serão convertidos."Isso quer dizer que se o servidor rodar em alfabeto cirilico você não vai conseguir os caracteres em latin... mas lembre-se do setlocate, permite você "forçar" a mudança do padrão para o que você quer... logo:setlocale(LC_CTYPE, "portuguese","pt_BR","ptb");Deve resolverObs: vale até mesmo ressaltar o que está escrito na página do setlocateLC_CTYPE para classificação de caracteres e conversão, por exemplo strtoupper() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Filipe Kiss Postado Março 21, 2007 Denunciar Share Postado Março 21, 2007 Perdão. Erro meu ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 21, 2007 Denunciar Share Postado Março 21, 2007 Perdão. Erro meu ;)Só se aprende com os erros ;) . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Andreia Regina Postado Março 21, 2007 Autor Denunciar Share Postado Março 21, 2007 Perfeito ESerra!Eu estava usando somente o setlocale(LC_CTYPE, "portuguese");fiz como você sugeriu e funcionou!Muito obrigada aos dois! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Andreia Regina
Olá pessoal!
Estou com a seguinte dificuldade.
Para padronizar preciso que os cadastros sejam feitos com os caracteres em maiúsculos, estou usando da forma abaixo e quando uma palavra possui acentuação, não transforma para maiúsculo tudo:
Já tentei com o text-transform do css mas também sem sucesso no momento de gravar no banco.
só que a palavra maiúscula é transformada para MAIúSCULA.
Como devo proceder para corrigir isto, da forma mais prática.
Desde já: obrigada
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.