내 rt 인덱스에 삽입하려고하면 다음 오류가 발생합니다.
'latin-1' codec can't encode character u'\u2019' in position 126: ordinal not in range(256)
latin-1이 아닌 utf-8을 사용해야합니다. 내 conf 파일에서 다음을 지정했습니다.
index my_index
{
type = rt
path = /path/my_index
rt_field = content
charset_type = utf-8
}
utf-8 인 데이터베이스에서 삽입 할 값을 선택하고 있습니다. 원시 SQL (API 없음)을 사용하여 Python에서 삽입합니다.
cursor_sphinx.execute("replace into my_index (id, content ) values (%s,%s)", (id, content))
이것을 어떻게 피할 수 있습니까?
첫 번째 데이터베이스가 utf-8이고 내 .py 파일이 # coding = UTF-8을 지정하는 경우 왜 이것이 필요한지 모르겠지만 content.encode ( "utf-8")로 삽입하는 것이 트릭이었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다