我正在使用php在odbc的sql服务器中插入一行,但是当我在sql server内插入时,法语口音(é,â,ô,î,è,...)存在此问题。 php也能很好地读取它,但是当使用odbc插入时,它被读为特殊字符
示例:
$sujet = 'BEM relevé bancaire';
$sql ="INSERT into matrice values('$groupe','$sujet','$nom','$ref','$ref','$next')";
odbc_exec($connection, $sql);
输出:
ID:542
groupe:Groupe_name
CI:BEMrelevé©bancaire//THE PROBLEM
名词:姓名
情感引用:1
restAffect:1
nextAffect:0
How can I make it reads the french accents ?
可能的重复项无法回答我的问题
答案 0 :(得分:0)
我需要查看表的架构以提供明确的答案。 char和varchar的SQL Server数据类型不支持双字节字符集。确保您要插入的表列的数据类型为nchar或nvarchar。
您可以使用具有多个列的简单表进行测试。将相同的值插入A列和B列将返回不同的结果。
Create table test (A varchar(20), B nvarchar(20))
Insert into test (A,B) values ('â',N'â')
如果这不能解决问题,那么我认为客户端代码页不同于sql服务器代码页。您可以在此处了解更多信息:You cannot correctly translate character data from a client to a server by using the SQL Server ODBC driver if the client code page differs from the server code page