目前我正在处理一个关于 virtuoso 和 php 的项目(windows7 (64)),
Virtuoso中三元组的"insert"(sparql查询)不适用于俄语(UTF-8)
$iquery = "sparql INSERT DATA INTO <http://example.net/Empl> {<http://example.net/empl1> <http://example.net/firstname> 'Русский язык'.}";
以下查询在英语中有效,但是当一行以俄语 (UTF-8) 显示时,PHP 会返回错误
*Warning*: odbc_exec() [function.odbc-exec <http://localhost:8890/test/admin/function.odbc-exec>]: SQL error: [OpenLink][Virtuoso ODBC Driver][Virtuoso Server]SQ074: Line 1: Bad escape sequence in a SPARQL short single-quoted string at '', SQL state 37000 in SQLExecDirect in*C:virtuoso-opensourcevsptestadminindex.php*on line*164*
你能为我提供什么?
谢谢 谢尔盖
PS sparql 查询 "insert" 适用于 isql 中的俄语 (UTF-8)
您是否按照 http://docs.openlinksw.com/virtuoso/dbadm.html#ini_Client 的详细设置SQL_UTF8_EXECS = 1
?
您需要正确配置 ODBC 连接字符串,以便 Virtuoso 正确接受 UTF-8
是否已在连接字符串中包含 Charset=utf-8
参数?
但仍然遇到此问题,那么您应该联系Virtuoso开发人员以获得进一步的帮助