2011-10-24 1 views
1

Microsoft SQL Server 데이터베이스를 관리하는 데 PHP 응용 프로그램을 사용합니다. 응용 프로그램은 유닉스에 설치되고 FreeTDS를 사용합니다. nvarchar (n)에 대한 데이터를 읽거나 쓰는 데 문제가 없지만 UTF-8에 대한 nvarchar (max) 데이터를 올바르게 처리 할 수 ​​없습니다. FreeTDS를위한FreeTDS 및 nvarchar (최대) 데이터

구성 파일 :

host = x 
    port = 1433 
    tds version = 7.0 
    client charset = UTF-8 

correclty은 nvarchar (max) 데이터를 처리하기 위해 FreeTDS를위한 다른 옵션이 있습니까?

감사합니다. 당신이 필요로하는

+2

실제 오류 메시지가 무엇입니까? 이 질문을 포함하도록 질문 수정을 제안하십시오. freetds의 어떤 버전입니까? –

+0

varchar (max)를 처리합니까? FreeTDS 문서는 심지어 "최대"길이 문자열을 처리합니까? 그것은 단지 그것을지지하지 않을 수도 있습니다. –

답변

2

는 SQL Server 2005 및 MAX 유형에 대한 지원을 추가 7.2, TDS, Choosing a TDS protocol version를 참조하십시오

TDS : 7.2 VARCHAR (최대)에 대한 지원, VARBINARY (최대), XML 데이터 유형 및 MARS를 [포함 에이].

+0

나는 행운과 함께 tds 버전 = 7.2를 시도했다 (freetds의 버전 0.82 사용). 또 다른 문제는 freetds 로깅과 관련이 있으므로 오류 로그를보고 할 수 없습니다. 어쨌든 다른 사람들이 같은 문제를 겪고 있는지 궁금합니다. – Dimitris

+0

''UTF-8에 대한 nvarchar (최대) 데이터를 제대로 처리 할 수 ​​없다는 것을 의미하는 좀 더 구체적인 세부 정보를 제공 할 수 있습니까? –

+0

예. 예를 들어 그리스어 텍스트 (예 : INSERT INTO TABLE_NAME VALUES (N'αβγ '))를 추가 할 때 응용 프로그램은 가비지 문자를 데이터베이스에 저장합니다 (aß?). – Dimitris