← SMF

Problemas com a language, ajuda urgente!

Lida 4904 vezes

Offline

Luís Casanova 
Membro
Mensagens 565 Gostos 9
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 500 Posts

Boa noite comunidade,

Por mais que me custe criar tópicos a pedir ajuda, pois, é mau sinal, desta vez não encontrei mesmo solução, nem com o repair_settings.php , nem com o "Converter entidades HTML para caracteres UTF-8" na manutenção de base de dados (ainda piorou).

Ao seja, o meu fórum está assim:



Nem com backup vai lá  :-k
Ou seja, o problema não está nos ficheiros recuperáveis, qual a solução?
Offline

Luís Casanova 
Membro
Mensagens 565 Gostos 9
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 500 Posts

Já corri o código no phpmyadmin

Código: [Seleccione]
UPDATE `smf_boards` SET `description` = REPLACE(`description`, '³', 'ł');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, 'ó', 'ó');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, 'ê', 'ę');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, '¶', 'ś');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, '±', 'ą');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, 'æ', 'ć');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, 'ñ', 'ń');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, '£', 'Ł');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, '¦', 'Ś');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, 'ê', 'ę');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, '¿', 'ż');
UPDATE `smf_boards` SET `description` = REPLACE(`description`, '¡', 'Ą');

UPDATE `smf_boards` SET `name` = REPLACE(`name`, '³', 'ł');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, 'ó', 'ó');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, 'ê', 'ę');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, '¶', 'ś');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, '±', 'ą');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, 'æ', 'ć');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, 'ñ', 'ń');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, '£', 'Ł');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, '¦', 'Ś');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, 'ê', 'ę');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, '¿', 'ż');
UPDATE `smf_boards` SET `name` = REPLACE(`name`, '¡', 'Ą');

UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, '³', 'ł');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, 'ó', 'ó');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, 'ê', 'ę');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, '¶', 'ś');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, '±', 'ą');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, 'æ', 'ć');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, 'ñ', 'ń');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, '£', 'Ł');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, '¦', 'Ś');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, 'ê', 'ę');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, '¿', 'ż');
UPDATE `smf_members` SET `member_name` = REPLACE(`member_name`, '¡', 'Ą');

UPDATE `smf_members` SET `signature` = REPLACE(`signature`, '³', 'ł');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, 'ó', 'ó');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, 'ê', 'ę');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, '¶', 'ś');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, '±', 'ą');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, 'æ', 'ć');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, 'ñ', 'ń');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, '£', 'Ł');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, '¦', 'Ś');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, 'ê', 'ę');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, '¿', 'ż');
UPDATE `smf_members` SET `signature` = REPLACE(`signature`, '¡', 'Ą');

UPDATE `smf_members` SET `location` = REPLACE(`location`, '³', 'ł');
UPDATE `smf_members` SET `location` = REPLACE(`location`, 'ó', 'ó');
UPDATE `smf_members` SET `location` = REPLACE(`location`, 'ê', 'ę');
UPDATE `smf_members` SET `location` = REPLACE(`location`, '¶', 'ś');
UPDATE `smf_members` SET `location` = REPLACE(`location`, '±', 'ą');
UPDATE `smf_members` SET `location` = REPLACE(`location`, 'æ', 'ć');
UPDATE `smf_members` SET `location` = REPLACE(`location`, 'ñ', 'ń');
UPDATE `smf_members` SET `location` = REPLACE(`location`, '£', 'Ł');
UPDATE `smf_members` SET `location` = REPLACE(`location`, '¦', 'Ś');
UPDATE `smf_members` SET `location` = REPLACE(`location`, 'ê', 'ę');
UPDATE `smf_members` SET `location` = REPLACE(`location`, '¿', 'ż');
UPDATE `smf_members` SET `location` = REPLACE(`location`, '¡', 'Ą');

UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, '³', 'ł');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, 'ó', 'ó');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, 'ê', 'ę');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, '¶', 'ś');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, '±', 'ą');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, 'æ', 'ć');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, 'ñ', 'ń');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, '£', 'Ł');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, '¦', 'Ś');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, 'ê', 'ę');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, '¿', 'ż');
UPDATE `smf_personal_messages` SET `body` = REPLACE(`body`, '¡', 'Ą');

UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, '³', 'ł');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, 'ó', 'ó');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, 'ê', 'ę');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, '¶', 'ś');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, '±', 'ą');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, 'æ', 'ć');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, 'ñ', 'ń');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, '£', 'Ł');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, '¦', 'Ś');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, 'ê', 'ę');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, '¿', 'ż');
UPDATE `smf_personal_messages` SET `subject` = REPLACE(`subject`, '¡', 'Ą');

UPDATE `smf_messages` SET `body` = REPLACE(`body`, '³', 'ł');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, 'ó', 'ó');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, 'ê', 'ę');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, '¶', 'ś');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, '±', 'ą');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, 'æ', 'ć');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, 'ñ', 'ń');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, '£', 'Ł');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, '¦', 'Ś');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, 'ê', 'ę');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, '¿', 'ż');
UPDATE `smf_messages` SET `body` = REPLACE(`body`, '¡', 'Ą');

UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¡', 'Ą');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '³', 'ł');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ó', 'ó');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ê', 'ę');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¶', 'ś');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '±', 'ą');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'æ', 'ć');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ñ', 'ń');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '£', 'Ł');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¦', 'Ś');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ê', 'ę');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¿', 'ż');

UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¡', 'Ą');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '³', 'ł');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ó', 'ó');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ê', 'ę');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¶', 'ś');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '±', 'ą');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'æ', 'ć');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ñ', 'ń');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '£', 'Ł');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¦', 'Ś');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'ê', 'ę');
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, '¿', 'ż');

UPDATE `smf_polls` SET `question` = REPLACE(`question`, '³', 'ł');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, 'ó', 'ó');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, 'ê', 'ę');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, '¶', 'ś');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, '±', 'ą');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, 'æ', 'ć');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, 'ñ', 'ń');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, '£', 'Ł');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, '¦', 'Ś');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, 'ê', 'ę');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, '¿', 'ż');
UPDATE `smf_polls` SET `question` = REPLACE(`question`, '¡', 'Ą');

UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, '³', 'ł');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, 'ó', 'ó');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, 'ê', 'ę');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, '¶', 'ś');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, '±', 'ą');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, 'æ', 'ć');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, 'ñ', 'ń');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, '£', 'Ł');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, '¦', 'Ś');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, 'ê', 'ę');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, '¿', 'ż');
UPDATE `smf_poll_choices` SET `label` = REPLACE(`label`, '¡', 'Ą');

UPDATE `smf_members` SET `real_name` = `member_name`;
Offline

cjseven 
Administrador
Mensagens 1809 Gostos 26
Feedback +3

Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Presumo que fizeste alterações nos ficheiros do forum, correto? Para traduções talvez?

Se sim, abre novamente esses ficheiros no notepad++, converte para UTF-8 without BOM e faz o upload.

Deves ficar com o problema resolvido.
Offline

Luís Casanova 
Membro
Mensagens 565 Gostos 9
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 500 Posts

Presumo que fizeste alterações nos ficheiros do forum, correto? Para traduções talvez?

Se sim, abre novamente esses ficheiros no notepad++, converte para UTF-8 without BOM e faz o upload.

Deves ficar com o problema resolvido.

O dos pontos de interrogação está resolvido, falta o resto.
O problema foi: "Converter entidades HTML para caracteres UTF-8"

Consigo reverter isso? Aguardo resposta e obrigado cjseven.
Offline

cjseven 
Administrador
Mensagens 1809 Gostos 26
Feedback +3

Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Boas,

Utilizaste o notepad++ para converter para UTF-8 without Bom?

Qual é o link para o forum?

Este:
http://seyfert.com.pt/2013/forum/

Ou este:
http://seyfert.com.pt/forum/

No segundo parece estar quase resolvido. Só o "ó "do Sobre nós aparece com a codificação errada.
Offline

Luís Casanova 
Membro
Mensagens 565 Gostos 9
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 500 Posts

É o segundo, o primeiro foi onde fiz o template.

O menu ficou resolvido, o problema é o resto, ao seja, depois de fazer isto: Converter entidades HTML para caracteres UTF-8
Offline

Luís Casanova 
Membro
Mensagens 565 Gostos 9
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 500 Posts

Só agora é que reparei que o 2013 está com a mesma base de dados  :-k
Offline

cjseven 
Administrador
Mensagens 1809 Gostos 26
Feedback +3

Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

......

Dizes que o menu ficou resolvido mas aqui o "ó "do Sobre nós aparece com a codificação errada.

Quanto ao resto não vejo qualquer codificação errada...

Relativamente a "Converter entidades HTML para caracteres UTF-8" não faço a minima ideia onde fizeste isso.

E agradecia que respondesses: :)

Utilizaste o notepad++ para converter os ficheiros do forum para UTF-8 without Bom?
Offline

Luís Casanova 
Membro
Mensagens 565 Gostos 9
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 500 Posts

Sim cjseven usei.
Mandei os dados de login do fórum para poderes ver como estão os caracteres.
Offline

Luís Casanova 
Membro
Mensagens 565 Gostos 9
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 500 Posts

Boa noite comunidade,

Estive a trabalhar na solução do problema para o meu fórum, depois de ter convertido as entidades HTML para caracteres UTF-8 na manutenção da base de dados, que acabou por desfigurar por completo os acentos dos textos, títulos, membros (entre outros)...

Encontrei uma solução, apesar de dar muito trabalho, é eficaz, executando vários comandos a partir da base de comandos do SQL no phpmyadmin.
Sem mais demoras vou enumerar os três comandos mais importantes, para uma página mais clean.

Código: [Seleccione]
Títulos dos tópicos
UPDATE `smf_messages` SET `subject` = REPLACE(`subject`, 'carácter', 'letra acentuada');

Corpo das mensagens
UPDATE `smf_messages` SET `body` = REPLACE(`body`, 'carácter', 'letra acentuada');

Secções e quadros
UPDATE `smf_boards` SET `description` = REPLACE(`description`, 'carácter', 'letra acentuada');

Visto que, a letra acentuada também pode corresponder ao c com cedilha e o carácter pode ser mais que um, vou dar um exemplo que aconteceu comigo.

Código: [Seleccione]
UPDATE `smf_boards` SET `name` = REPLACE(`name`, 'í©', 'é');
Dá trabalho, mas, foi a única solução que encontrei, visto que nem o backup solucionou o problema.
Obrigado ao cjseven pela colaboração neste tópico e ao Jóni Oliveira por me aturar no facebook.

 :obrigado: :+trafego:
Offline

Tiago Carneiro 
Membro
Mensagens 38 Gostos 0
Feedback -1

Troféus totais: 19
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 10 Posts First Post Signature

Eu já tive este problema algumas vezes e 4 linhas de código têm me resolvido sempre o problema.  Aqui fica para quem precisar:

Código: [Seleccione]
mysql_query("SET NAMES 'utf8'");
    mysql_query('SET character_set_connection=utf8');
    mysql_query('SET character_set_client=utf8');
    mysql_query('SET character_set_results=utf8')

Basta colocar abaixo da linha onde fazem o connect à base de dados e resolve o problema  :grin: