# Erro importação vabulário controlado

**URL:** <https://tainacan.discourse.group/t/erro-importacao-vabulario-controlado/965>\
**Category:** Suporte\
**Created:** [Julho 19, 2022, 3:35pm UTC](https://tainacan.discourse.group/t/erro-importacao-vabulario-controlado/965 "2022-07-19T15:35:15Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![vnmedeiros](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/vnmedeiros/32/7_2.png) [@vnmedeiros](https://tainacan.discourse.group/u/vnmedeiros)\
**Post date:** [Julho 19, 2022, 7:24pm UTC](https://tainacan.discourse.group/t/erro-importacao-vabulario-controlado/965/2 "2022-07-19T19:24:07Z")

</div>

Olá @elias.machado tudo bem? Essa é uma situação bem interessante vou me aventurar aqui para tentar explicar.

A primeira coisa que temos que ter em mente é que não podemos ter dois termos de uma taxonomia em um mesmo nível (termos irmão por assim dizer), no seu caso especifico temos dois valores especiais:  
**Maca** e **Maça** que o banco de dados julga serem termos iguais… de primeira a gente pensa: não, esses caras são diferentes. Mas pois bem… o mysql tem algumas forma de fazer a comparação de valores, entre elas tem algumas configurações de como ele faz a comparação, em alguns casos por exemplo não há distinção entre letras maiúsculas e minúsculas, acentuadas ou não, dessa forma as palavras maca = maça = Maca = máçá = …

Algumas referencias que me ajudaram a entender melhor esse cenário:

> **[Como corrigir acentuação no PHP MySQL - Ajuda Locaweb](https://ajuda.locaweb.com.br/wiki/resolver-caracteres-acentuados-no-mysql/)**
>
> Caso você não defina um collation padrão, dua aplicação pode vir apresentar erros de acentuação. Acesse nosso artigo e confira os detalhes.

> **[MySQL: Converting an incorrect latin1 column to utf8](https://nicj.net/mysql-converting-an-incorrect-latin1-column-to-utf8/)**
>
> I recently stumbled across a major character encoding issue on one of the websites I run.  Through resolving the issue, I learned a lot about the complexities of supporting international character sets in a LAMP (Linux, Apache, MySQL, PHP)...

[https://dev.mysql.com/doc/refman/5.7/en/charset-binary-collations.html](https://dev.mysql.com/doc/refman/5.7/en/charset-binary-collations.html)  
[https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html](https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html)

> <https://stackoverflow.com/questions/5526334/what-effects-does-using-a-binary-collation-have>

Basicamente para resolver essa questão é necessário verificar o “COLLATE” que está sendo usado no mysql e alterar para algum tipo que tenha a comparação desejada. nem sempre isso é uma tarefa trivial:

> **[Supported Character Sets and Collations](https://mariadb.com/kb/en/supported-character-sets-and-collations/)**
>
> MariaDB supports the following character sets and collations.

Um exemplo pratico:

tenho a seguinte lista de termos apresentando o mesmo erro:

 ![dd0](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/c7d6123393f75c623a355deb75e3f2861b515066.png)

faço o seguinte teste consultando na base os valore “maca” e “maça”:

 ![dd](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/eff895178bcdbdebc3909e21f7fa0efbd96b5fb5.png)

teoricamente ele deveria me retornar algum resultado apenas no primeiro teste e vazio no segundo, na pratica isso não acontece:

 ![dd1](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/d2d4211c936f475d5542345fe0432ad0868c988c.png)

vou e altero o _ **CHARACTER SET** _ e o _ **COLLATE** _ da coluna name da tabela wp\_terms:

 ![dd2](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/5e4c50a389e931e88f9db3095a9313ad514a5a35.png)

e executo novamente o teste:  
 ![dd4](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/dd5f254ae63b367aea04271e9b52d3ebe8996e72.png)

E após fazer isso é possível incluir o termo **maça** , pois o _COLLATE_ “utf8mb4\_bin” faz um comparação binária diferenciando **ç** do **c**

 ![dd5](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/8e3662082d2429515320ed8330aa31de5651b2cf.png)

Não sei se consegui explicar bem, recomendo fortemente que você leia um pouco ali os links que mandei e veja quais as diferenças entre esses cara e suas restrições, nem sempre alterar entre os _ **CHARACTER SET** _ vai ser possível pois pode trucar alguns caracteres .

Att!

---

_[View the full topic](https://tainacan.discourse.group/t/erro-importacao-vabulario-controlado/965)._
