1

当我在批处理文件中执行一些 sql 脚本时,我遇到了一些重音问题(sql 脚本使用表和一些插入创建数据库)

那是执行脚本文件的批处理文件:

@echo off

"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -u root -proot < dbase.sql;

就是这样的问题(他替换了重音):

Ajout chèque entrant

Modifier date encaissement (Chèques Entrants)

而不是那个:

Ajout chèque entrant

Modifier date encaissement (Chèques Entrants)

这就是我为插入所做的:

-- Insertion des Roles

insert into dbcheques.role(idRole,LibelleRole) values(1,'Ajout chèque entrant');

insert into dbcheques.role(idRole,LibelleRole) values(2,'Chèques entrants à encaisser aujourd\'hui');

insert into dbcheques.role(idRole,LibelleRole) values(3,'Chèques entrants encaissables');

insert into dbcheques.role(idRole,LibelleRole) values(4,'Modifier date encaissement (Chèques Entrants)');

insert into dbcheques.role(idRole,LibelleRole) values(5,'Rechercher un chèque entrant');



insert into dbcheques.role(idRole,LibelleRole) values(6,'Ajout chèque sortant');

insert into dbcheques.role(idRole,LibelleRole) values(7,'Chèques sortants à encaisser aujourd\'hui');

insert into dbcheques.role(idRole,LibelleRole) values(8,'Chèques sortants encaissables');

insert into dbcheques.role(idRole,LibelleRole) values(9,'Modifier date encaissement (Chèques Sortants)');

insert into dbcheques.role(idRole,LibelleRole) values(10,'Rechercher un chèque sortant');


insert into dbcheques.role(idRole,LibelleRole) values(11,'Ajout utilisateur');

insert into dbcheques.role(idRole,LibelleRole) values(12,'Rechercher utilisateur');

insert into dbcheques.role(idRole,LibelleRole) values(13,'Liste des utilisateurs');

insert into dbcheques.role(idRole,LibelleRole) values(14,'Affecter/Retirer un rôle');

insert into dbcheques.role(idRole,LibelleRole) values(15,'Modifier mon profil');
4

2 回答 2

1

添加--default-character-set选项。

"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" --default-character-set=utf8 -u root -proot < dbase.sql;
于 2013-04-08T12:33:30.317 回答
0

由于您看到è而不是è我认为您的dbase.sql文件被编码为 UTF-8,但您没有告诉 MySQL。如果您直接运行命令而不是通过.bat文件运行,您可能会得到相同的结果。

最直接的方法是将其添加到文件顶部dbase.sql

SET NAMES utf8;

为此,您需要dbase.sql在文本编辑器中打开(我想您已经有一个,因为您正在编写批处理脚本)。

或者,您也可以mysql使用--default-character-set参数调用:

"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -u root -proot --default-character-set=utf8

一旦你解决了这个问题,我建议你阅读并享受这两个链接:

于 2013-04-08T14:10:12.680 回答