2014-01-10 10 views
4

cfquery 태그에 인코딩 문제가 있습니다.cfquery 텍스트 인코딩 관련 문제

<cfquery name="query" datasource="example"> 
    SELECT * 
    FROM EXAMPLE_TABLE 
    WHERE EXAMPLE_COLUMN = 'WORD WITH ACCENT É' 
</cfquery> 

쿼리 변수에하는 cfdump을하고는 cfquery 태그에 의해 생성 된 SQL이 'ACCENT Ã ‰ 단어'로 텍스트를 변경하지만 난 그게 É 할 필요가 :

내 코드입니다 테이블의 값이 그렇게 설정 되었기 때문입니다. cfquery 태그의 인코딩을 변경하는 방법이 있습니까?

cfcontent 태그가있는 페이지의 인코딩을 변경하지 않으려 고 시도했습니다. 나는 또한 많은 결과없이 SetLocale()을 사용하려고 시도했다.

감사합니다.

+0

데이터를 출력 할 때'cfdump' 태그가 번역을한다고 생각합니다. 해당 컬럼에서'cfoutput'을 사용하여 올바른 결과를 얻을 수 있는지보십시오. –

+0

그게 문제입니다. 나는 어떤 결과도 얻지 못한다. SQL Server Management Studio에서 정확히 동일한 쿼리를 실행하면 열을 반환하지만 coldfusion에서는 반환하지 않습니다. ( – DJTomH

+0

소스 코드에''WORD WITH ACCENT É'' * 실제로 *입니다. 또는 오히려 역동적 인 값입니다. FORM 또는 URL 범위 – Tomalak

답변

9

해결책을 찾았습니다.

<cfprocessingdirective pageEncoding="UTF-8" /> 

페이지 맨 위에 추가하면 매력처럼 작동합니다.

+1

일관성 때문에 CFML 소스를 저장하는 것이 더 좋을 수 있습니다. 파일을 서버가 기대하는 인코딩에 추가하십시오. (CF 관리자 -> "서버 설정"-> "설정 요약"-> "Java 파일 인코딩"을 참조하십시오.) – Tomalak

0

형식이 지정된 주석입니다. 내가 ColdFusion에서 9.1 사용하고

SELECT COUNT (*) 레코드를 이벤트에서 event_code = 'ACCENT É 단어'나는

<cfquery name="x" datasource="dw"> 
select count(*) records 
from event 
where event_code = 'WORD WITH ACCENT É' 
</cfquery> 
<cfdump var="#x#" metainfo="yes"> 

를 메타 정보의 SQL을 보여 주었다 실행

쿼리는 redbrick 데이터베이스에 대한 것이 었습니다. 나는 오라클과 SQL 서버 데이터베이스에서 비슷한 결과를 얻었습니다.

+0

소스 파일의 인코딩은 무엇입니까? – Leigh

+0

서버 설정은 "Java File Encoding Cp1252"입니다. .cfm 페이지의 유일한 코드는 질문에 표시된 것과 같습니다. 사실, 어떤 종류의 html 태그조차도 없었습니다. –