TFDScript inserção de registros em tabela

MySQL

Delphi

17/09/2018

Estou usando o componente TFDScript, para executar um script de criação de banco de dados MySql, esta funcionando a criação normalmente, tem uma problema com relação a inserção de registros em algumas tabelas, exemplo:

CREATE TABLE IF NOT EXISTS `cidades` (
`ID_CIDADE` int(11) NOT NULL DEFAULT '0',
`NOME` varchar(50) DEFAULT NULL,
`UF` char(2) DEFAULT NULL,
PRIMARY KEY (`ID_CIDADE`)
) COLLATE='latin1_swedish_ci'
ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `cidades` (`ID_CIDADE`, `NOME`, `UF`) VALUES
(1100015, 'Alta Floresta D\\'Oeste', 'RO'),
(1100023, 'Ariquemes', 'RO'),
(1100098, 'Espigão D\\'Oeste', 'RO');

o problema é qdo tem caracteres especiais, ai o registro fica assim (ESPIGãO D'OESTE) na inserção normal via programas de acesso a banco (exemplo HeidiSql), nao ocorre esse erro.
Everton Gonçalves

Everton Gonçalves

Curtidas 0

Melhor post

Natanael Ferreira

Natanael Ferreira

17/09/2018

Problema de codificação de caracteres.

No seu componente FDScript, propriedade ScriptOptions e sub-propriedade FileEncoding altere para ecUTF8 ou ecUTF16 e teste novamente.

FDScript1.ScriptOptions.FileEncoding := enUTF8;

Ou

FDScript1.ScriptOptions.FileEncoding := enUTF16;
GOSTEI 1

Mais Respostas

Natanael Ferreira

Natanael Ferreira

17/09/2018

Leia este link:<br />
<br />
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Unicode_Support_(FireDAC)
GOSTEI 0
Everton Gonçalves

Everton Gonçalves

17/09/2018

Deu certo, coloquei: FDScript1.ScriptOptions.FileEncoding := ecUTF8;

Obrigado Natanael Ferreira.
GOSTEI 0
POSTAR