我正在使用Ubuntu,我正在使用DBeaver
進行數據庫訪問。我試圖將拉丁字符插入到數據庫(MSSQL)中,並引發錯誤。但是如果我插入與DBeaver
相同的特殊字符,它不會引發任何錯誤並且它正在工作。我已經看到this的問題。但我沒有任何想法。如何在數據庫中插入特殊字符?
它拋出以下錯誤:
DBD::ODBC::st execute failed: [unixODBC][FreeTDS][SQL Server]Error converting characters into server's character set. Some character(s) could not be converted (SQL-HY000) at expert.fi_review.pl line 243.
和數據db是J�rjest�myyr�
。但實際數據是Järjestömyyrä
。
示例代碼:
my ($dsn,$dbh);
&DB_Connect;
$insert_query = "INSERT INTO table_name (name) values(N'$name')";
my $sth = $dbh->prepare($insert_query);
$sth->execute() or $DB_Error=$DBI::errstr;
sub DB_Connect
{
$dsn = "dbi:ODBC:driver={SQL Server};Server=$Server_name,$port;database=$Database_name;driver=FreeTDS;tds_version=8.0;";
reconnect: $dbh = DBI->connect($dsn, $db_user_id, $db_pwd ,{AutoCommit => 1}) or goto reconnect;
$dbh-> {'LongTruncOk'} = 1;
$dbh-> {'LongReadLen'} = 90000;
}
是你的sql表字段nvarchar?如果沒有,請嘗試。 –
你可以顯示你的代碼嗎? – Steven
@SeanB是的。我的sql表只有'nvarchar'類型。 – mkHun