2016-08-28 1 views
0

다음 문제가 있습니다. 나는 값이 'property'인 propertyA로 정점을 만들어야합니다.OrientDB 인코딩 (리터럴 문자열을 보낼 수 없음)

>>>a = 'المساء' 
>>>b = a.encode('cp270') 
>>>print b 
>>>'\x9f\xe9\xea\xab\x9f\x98' 

하지만이 인코딩과 OrientDB 원 : 문제는, 파이썬은 그래서 ...

가 나는 다음처럼 인코딩을 할 필요가 알고있는 'المساء'문자열을 보낼 수 없습니다 파이썬에서입니다 일하지 마라. 나는 ascii encode가 필요하다고 생각한다. 가 OrientDB에 대해 알고 https://github.com/orientechnologies/orientdb/issues/5860

누구든지 나를 도울 수 (응답 없음) 문제가 있습니다

? 미리 감사드립니다!

+0

어떤 버전 오리엔트 DB를 사용 중이십니까? – Albe86

+0

DB 버전 2.2 –

답변

0

사용하여 파이썬 나는이 작업을 수행 할 수 있습니다

>>> a = 'غريبديالى#مخيسةالعز' 
>>> type(a) 
<type 'str'> 
>>> b = a.decode('utf8') 
>>> b 
u'\u063a\u0631\u064a\u0628\u062f\u064a\u0627\u0644\u0649#\u0645\u062e\u064a\u0633\u0629\u0627\u0644\u0639\u0632' 
>>> print b 
غريبديالى#مخيسةالعز 

그래서, 다음의 결과로 정점을 생성합니다 다음과 같은 쿼리를 넣을 경우 :

query = 'create vertex v content {"property":"%s"}' %b 

enter image description here

+0

다른 양식이 SQL 쿼리가 아닌 JSON 쿼리를 사용하고 있습니다. 매우 간단합니다. { "command": "create ..."} json.dumps (content) =) –

0

내가 orientDb 버전 2.2.7

import pyorient 

db_name='MyDb' 

print("connection to the server...") 
client=pyorient.OrientDB("localhost",2424) 
client.set_session_token(True) 
session_id=client.connect("root","root") 

client.db_open(db_name, "admin", "admin") 

myFunction = 'insert into v(name) values("المساء")' 
client.command(myFunction); 

client.db_close() 

이 코드로 시도하고

enter image description here는 희망이 도움이 나를 위해 일했다.

+0

매개 변수로 꼭지점을 만들고 아랍어 문자를 매개 변수로 사용하면 작동하지 않습니다. ( –

+0

Studio에서 작동했지만 작동하지 않았습니다. github에서 문제를 열 ​​수 있습니까? –

+0

github 문제가 깨졌을 때, 1 년 (다소간) 이후로 열려 있습니다. Studio에서는 작동하지만 파이썬 또는 Java = S가 필요합니다. –

관련 문제