【发布时间】:2010-12-31 16:05:12
【问题描述】:
我在将希伯来语字符串插入 MySql 时遇到问题。
简介
- 我将 MySql 设置为 Utf8。
- 我将表设置为字符集 utf8 并带有排序规则 uft8_general_ci
- 我将连接字符串设置为:“Server=;Database=;Uid=;Pwd=;charset=utf8;”
- 我编写了存储过程供c#使用。
- MySql 版本:5.1.53
当我通过 MySql 将希伯来语字符串插入表时 因为它:
insert into temp_table (temp_column) values ('ערך')
我认为是正确的。 如果我将存储过程设置为它..我看到胡言乱语。
当我通过 c# 调用它时,我得到异常为'Incorrect string value: '\xD7\xAA\xD7\xA8...' for column...'
如果我插入英文字符串,那么我得到的都是正确的。
有什么想法吗?
【问题讨论】:
-
您能发布用于插入值的 C# 代码吗?请同时显示列定义。
-
你能同时显示你的存储过程和你用来从 C# 调用它的代码
-
CREATE TABLE
city(CityIDint(20) NOT NULL AUTO_INCREMENT,CityNamevarchar(100) NOT NULL,CitySynonymsmediumtext,CityNumberPostOfficevarchar(100) DEFAULT NULL,UpdatedDatedate DEFAULT NULL, PRIMARY KEY (CityID) ENGINE=InnoDB DEFAULT CHARSET=utf8 -
DELIMITER $$ DROP PROCEDURE IF EXISTS
test.SPInsertUpdateCity$$ CREATE DEFINER=root@localhostPROCEDURESPInsertUpdateCity( in SP_CityName VARCHAR(100) medium, in SP_CitySynony在 SP_CityNumberPostOffice varchar(100) 中,在 SP_CityUpdatedDate 日期中)开始 if(不存在(从 CityName = SP_CityName 的城市中选择 CityID))然后插入城市(CityName,CitySynonyms,CityNumberPostOffice,UpdatedDate)值(SP_CityName,CONCAT(',', SP_CitySynonyms, ','),SP_CityNumberPostOffice,SP_CityUpdatedDate); -
else if((exists(select cityId from city where CityName = SP_CityName and (UpdatedDate