2010-11-30 4 views
10

저는 러시아어 버전의 웹 사이트를 만들어야하지만 데이터베이스에 러시아 문자를 삽입하는 방법을 찾을 수 없습니다.MySQL - 러시아어 문자가 incorectly로 표시됩니다.

은 거의 모든 가능한 코드를 tryed 있지만, 그것은 단지 보여줍니다

???????? ?????????? ??????? ??????? ? ????? ?? ????????????? ? ???????, ??????? ????? ??????? ???????? ????? .??? ??????????? ???????? ????? ?? ????? ?????????? ? ????? ????????. 
??????????? ?????? ?? ???????? ????? ?? 20 ???????. ???????? ??? ?? ??????????? ?????????????? ????? ? ????????????? ??????? ??????. ? ???????, ? ??????? ? ?.?. 
+0

데이터베이스에 사용되는 인코딩은 무엇입니까? 그리고 당신이 표시하려고하는 곳? – Vjy

+0

UTF8_general_ci – Mike

+0

출처는 어디입니까? 데이터는 다양한 레이어를 통과합니다. 다음은 비슷한 질문에 대한 링크입니다. mysql이 MySQL의 영향을받는 다양한 매개 변수를 볼 수 있습니다. http://stackoverflow.com/questions/3823278/fixing-encondings – Unreason

답변

13
  1. 확인 데이터베이스 문자 세트는/coallition는 UTF-8이 러시아어 문자를 삽입 페이지에
  2. (형태입니다 , textarea) Content-Type을 text/html; charset=utf-8으로 설정하여 인코딩이 UTF-8인지 확인하십시오. 러시아어 텍스트를 양식 입력에 직접 입력하십시오.
  3. 데이터베이스에 삽입하는이 양식을 처리하는 처리 페이지에서 SET NAMES utf8을 수행하여 전에 UTF-8 으로 저장하고 미리 별도의 쿼리에 데이터를 삽입하십시오.
  4. 보기에서 데이터베이스의 콘텐츠를 렌더링 할 때 Content-Typetext/html; charset=utf-8인지 확인하십시오.

은 콘텐츠 형식이 하지 창-1251 또는 ISO-8859-1/라틴 있는지 확인하십시오. 데이터베이스 charset/coallition이 ISO-8859-1/Latin1이 아닌지 확인하십시오.

+2

좋아, 회신 방법의 중요한 문구가 "확인하십시오". :-) 나는 DB와 테이블에서 UTF-8을 가졌지 만 컬럼에서 latin2 로의 인코딩을 수정했다는 것을 발견했다. 감사. :-) – Mike

+2

당신은 반드시 "정렬"이 아니라 "조합"을 의미합니다. – Alexxus