Yii Framework Forum: Erro De Charset - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Erro De Charset UTF-8 x LATIN1 Rate Topic: -----

#1 User is offline   Fernando Trindade 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 23-October 12

Posted 23 October 2012 - 10:56 AM

Olá pessoal estou começando agora com o Yii e estou com um problema de charset. Tenho uma aplicação que importa um planilha excel e salva no banco mysql, em uma tabela que esta com o charset definido como Latin1. O problema é quando no php eu consigo dar um utf8_decode e fazer a string ficar em utf8, dai quando vai salvar no banco da erro nas palavras acentuadas. Ja tentei usar o iconv('UTF-8','LATIN1',$str) mesmo forçando a conversão de para Latin1 a string é salva em um charset diferente no qual não reconhece acentuação.

Na aplicação também existe a opção de inserir na mesma tabela através de um form, e quando é feito inserção ou update pelo form não da erro charset ou seja os acentos aparecem corretamente.

Alguém por favor pode me ajudar ??

Desde já grato
0

#2 User is offline   Fernando Trindade 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 23-October 12

Posted 23 October 2012 - 11:55 AM

Uma das soluções que encontrei aqui no forum é alterar o charset no main para 'latin1', porém estou com duvida pois quando faço um insert através de um $form passando pelo actionInserir as informções são inseridas normalmente sem erro de codificação, se eu altera o charset no main será que vai mudar alguma coisa nas outras parte da aplicação ?

'db' => array(
'connectionString' => 'mysql:host=localhost;dbname=myDataBase',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'enableProfiling' => YII_DEBUG,
'enableParamLogging' => YII_DEBUG,
),
0

#3 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 824
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 23 October 2012 - 06:46 PM

Fernando,

Já houve o questionamento dos acentos no framework, nas CListView e CGridView, para evitar de ficar usando o utf8_decode()/utf8_encode(), deixa toda a aplicação setada como utf-8.

Se você tiver usando algum IDE, defini nas configurações para todos os arquivos abertos seja convertido para utf-8.
Eu uso o netbeans e ele tem essa definição, assim você não terá problemas de adicionar palavras acentuadas ou caracteres especial diretamente no código fonte e no banco de dados.
Newerton Vargas de Araújo
0

#4 User is offline   Fernando Trindade 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 23-October 12

Posted 25 October 2012 - 06:15 AM

[RESOLVIDO]
Bom dia!!!

Obrigado pela dica, porém eu não quis alterar o código pois é de um site que peguei para dar manutenção... Mas enfim consegui encontrar o ponto de falha, é o seguinte quando eu exporto para excel(Eexcelview) tudo é exportado em UTF-8, então se o usuario fizer a importação da planilha sem alterar nada basta eu dar um utf8_decode e em seguida um utf8_encode novamente, porém se o usuario mudar alguma coisa no arquivo pode ser que o aplicativo de leitura .xls altere o charset então eu simplesmente dou um uft8_encode, fazendo exatemente isso não tive mais problemas!!!

Fica a dica!! Obrigado a todos...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users