我有一个SQL数据库,使用SQL Latin1_General_CP1_Ci_作为排序规则。
数据库将包含大约3种语言(英语、土耳其语、阿拉伯语)。
在主页面上,我将字符集设置为utf-8:
header('Content-Type: text/html; charset=UTF-8');
<meta charset="utf-8">
我在php页面中使用了以下代码:
$sql_server = "server";
$sql_user = "user";
$sql_password = "password";
$sql_database = "database";
$sql_conn_string = 'Driver={SQL Server};Server='.$sql_server.';Database='.$sql_database.';';
if ($sql_conn = odbc_connect($sql_conn_string, $sql_user, $sql_password)){
echo 'Connected';
$name = $_POST['cust_name'];
if (odbc_exec($sql_conn,"INSERT INTO inv01 (cust) VALUES (N'".$name."')")){
echo 'is inserted';
}
else{
echo 'is not inserted';
}
odbc_close($sql_conn);
}
else{
echo 'Connection Error';
}
当我输入一个英语单词时没有问题
但是当我使用其他语言时,这些词被作为不清楚的字符插入
我试着用iconv但没用
$name = iconv("UTF_8","Windows-1252",$name);
//and
$name = iconv("UTF_8","UCS-2LE",$name);
如果SQL Latin1_General_CP1_Ci_as不是,那么在我的情况下,什么是最好的排序,还有没有其他不更改排序的解决方案
我希望我的问题不要重复,因为我在这里读了很多问题,但没有找到正确的答案。
谢谢。