利用存储过程添加数据,怎样支持各种语言?(整个数据库级别的编码是latin1)CREATE TABLE Employee
(
EmployeeId CHAR(10) NOT NULL,
Name VARCHAR(75) NOT NULL,
CompanyName VARCHAR(75) NULL,
School VARCHAR(75) NULL,
LastUpdate TIMESTAMP NOT NULL
);ALTER TABLE Employee MODIFY Name VARCHAR(75) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;ALTER TABLE Employee MODIFY CompanyName VARCHAR(75) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;ALTER TABLE Employee MODIFY School VARCHAR(75) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;CREATE PROCEDURE addEmployee
(
IN p_EmployeeId CHAR(10),
IN p_Name VARCHAR(75),
IN p_CompanyName VARCHAR(75),
IN p_School VARCHAR(75)
)
BEGIN
# Business logic
REPLACE INTO Employee ( EmployeeId,
Name,
CompanyName,
School )
VALUES ( p_EmployeeId,
p_Name,
p_CompanyName,
p_School );
END;
(
EmployeeId CHAR(10) NOT NULL,
Name VARCHAR(75) NOT NULL,
CompanyName VARCHAR(75) NULL,
School VARCHAR(75) NULL,
LastUpdate TIMESTAMP NOT NULL
);ALTER TABLE Employee MODIFY Name VARCHAR(75) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;ALTER TABLE Employee MODIFY CompanyName VARCHAR(75) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;ALTER TABLE Employee MODIFY School VARCHAR(75) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;CREATE PROCEDURE addEmployee
(
IN p_EmployeeId CHAR(10),
IN p_Name VARCHAR(75),
IN p_CompanyName VARCHAR(75),
IN p_School VARCHAR(75)
)
BEGIN
# Business logic
REPLACE INTO Employee ( EmployeeId,
Name,
CompanyName,
School )
VALUES ( p_EmployeeId,
p_Name,
p_CompanyName,
p_School );
END;
解决方案 »
- 真诚求教:往表随机插入一个"集合"中的某个字符串+MySQL
- MYSQL5,1 -------同一个存储过程内2个预处理语句,第二个不执行
- 帮忙搞个查询!!!!感谢感谢
- 请各位帮我看一下下面的sql语句怎么改?
- 请教 各位大侠 Mysql 是否支持 事务处理?(急)
- 在Linux下怎样用mysqldump 备份一数据库
- mysql中如何写判断一个数据库表是否存的语句?
- MySQL能不能象MS SQL那樣有Replication功能﹐如果有﹐能不能詳細的說說
- 如果在windows下用C建立多个与MySQL的连接
- 新手求助-mysql 简单语法DELIMITER 问题--errno 1064
- mysql触发器中如何获得insert后记录的id?
- 跟踪mysql执行了哪些语句
MySQL 中文显示乱码
更新完成后,SELECT能正确显示。
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000数据还是乱码。
Database默认latin1
Table上某些字段utf8
现在把整个数据库的默认字符集调整到utf8,.net连接符增加charset=utf8就可以存中文,那么不更改数据库的字符集就解决不了这个问题么?
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
select hex(yourColumn) from table ...另外问问,用utf8/latin1的区别,在存英文和其他语言(比如中文),在存储空间和检索速度上有没有区别。
latin1 是单字节字符
utf8是多字节字符,一般汉字由三个字节组成。
检索速度上当然是字节最少最快。但影响不大。