Retorno - Carecteres estranho

7 views
Skip to first unread message

Nelson o mesmo

unread,
Oct 22, 2013, 5:00:46 PM10/22/13
to
Boa-Tarde!

Pessoal tenho uma função, cujo objetivo é reduzir o tamanho do título, porém na palavra que sofre o "corte" retorna caracteres estranho
echo $value->title = substr($value->title, 0, 25); ?>


MYSQL => Escritório Corporativo - Inscrição
Retorno => Escritório Corporativo - Inscriç�...


MYSQL => Os alunos do colégio são
Retorno => Os alunos do colégio s�...


http://pastebin.com/36QJ8Mkd


Rafael Cunha

unread,
Oct 22, 2013, 5:05:28 PM10/22/13
to php-...@googlegroups.com

Rafael Cunha
:: Silici0 ::
Skype : silici0
Celular : 9426-7137


2013/10/22 Nelson o mesmo <nelsonph...@gmail.com>

--
--
Enviar mensagens: php-...@googlegroups.com
Deixar o grupo: php-grupo+...@googlegroups.com
Outras opções: http://groups.google.com/group/php-grupo
---
Você está recebendo esta mensagem porque se inscreveu no grupo "PHP - São Paulo" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para php-grupo+...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Jefferson Oliveira

unread,
Oct 23, 2013, 1:43:01 PM10/23/13
to php-...@googlegroups.com
Nelson,

a dica do Rafael resolve, mas farei um comentário.

Pra não ter esse tipo de problema, antes de iniciar um projeto (ou mesmo se o projeto já tiver sido iniciado e você puder aplicar isso) certifique-se de que existe um padrão de caracteres. Uso tudo em UTF-8. Portanto, no meu caso:
  • Base de dados configurada como UTF-8.
  • Conexão com a base de dados configurada como UTF-8.
  • Front-end (meta-tag) configurado como UTF-8.
Como uso o framework Symfony para quase todos os meus projetos, não tenho essa preocupação, mas se você não usa nenhum framework, certifique-se dessas coisas pra não ter que ficar decodificando caracteres a cada local do código.

Abraços,
--
Jeff
Skype: falecomjeff
http://twitter.com/botecodojeff

Wellington Silva

unread,
Oct 23, 2013, 5:56:25 PM10/23/13
to php-...@googlegroups.com
Saudações.

Antigamente eu usava as funções mb, neste caso a http://php.net/manual/en/function.mb-substr.php .

Caracteres acentuados (e cedilha) utilizam o dobro de espaço que os demais para serem representados. Se estiver usando utf-8 e cortar em uma dada posição você corre o risco de "cortar um caractere acentuado no meio" causando o problema.

Outro problema comum é a contagem de caracteres que não bate quando o texto tem acentuação. 

Abç

Rafael Cunha

unread,
Oct 23, 2013, 9:23:34 PM10/23/13
to php-...@googlegroups.com
Pra cortar texto sem cortar palavras : echo substr($string,0, strrpos($string, " ", -(strlen($string) - 20)) );

Verifica as funções no manual, elas são indiferentes para acentuação pois é 1 único caracter, não é 1 char quando você tem problemas na hora de converter.

Abraços

Rafael Cunha
:: Silici0 ::
Skype : silici0
Celular : 9426-7137


2013/10/23 Wellington Silva <wfig...@gmail.com>
Reply all
Reply to author
Forward
0 new messages