Boa tarde Grupo, 

 

Estou passando por um “probleminha” com o CI .... acentuação na conversão do
texto ... 

 

Minha situação: 

 

Preciso receber um valor de um formulário e gravá-lo no BD, mas tenho que
“capitalizá-lo” primeiro (1ª letra maiúscula):

 

ucfirst(strtolower($this->input->post('nomeCombs')));

 

A função strtolower() não reconhece acentuação e substitui letras acentuadas
por “?” (interrogação) ... fiz uma pesquisa e achei algumas funções para
conversão de textos, e baseados nelas fiz uma biblioteca para isso, testei
fora do CI e funciona perfeitamente, mas qdo carrego no controller e uso
para conversão, ela não funciona em letras acentuadas ... se tá maiúscula,
continua maiúscula, se ta minúscula, continua minúscula. 

 

Será que fiz certo? Sou iniciante, fiz essa biblioteca seguindo o tuto do
Guia de usuário do  Codeigniter:
http://www.codeigniter.com.br/manual/general/creating_libraries.html

 

 

Código no controller: 

 

 

public function incluir()

{

            $this->load->library('string_converter');

            $campo['combustivel_nome'] =
$this->string_converter->capitalize($this->input->post('nomeCombs'));

            $this->combustivel_model->insert($campo);

            redirect('admin/combustivel', 'refresh');

      }

 

Minha biblioteca (se for útil a alguém, pooooode copiar =]  ): 

 

<?php if ( ! defined('BASEPATH')) exit('Acesso proibido!');

 

class String_converter

{

 

      public function lower($palavra)

      {

            return $palavra =
strtr(strtolower($palavra),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíî
ïðñòóôõö÷øùüúþÿ");

      }

 

      public function upper($palavra)

      {

            return $palavra =
strtr(strtoupper($palavra),"àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ","ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎ
ÏÐÑÒÓÔÕÖרÙÜÚÞß");

      }

 

      public function capitalize($palavra)

      {

            $str = $this->lower($palavra);

            return $this->upper(substr($str, 0, 1)) . substr($str, 1,
strlen($str));

      }

}

 

 

 

 

Marcia Silva
web designer

 

 <http://www.pixwell.com.br/> www.pixwell.com.br
Twitter:  <http://www.twitter.com/pixwell> @pixwell

 

_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a