2009-10-31 7 views
1

PHP를 사용하는 동안 양식을 사용하면서 입력 한 내용은 데이터베이스에 저장되어야합니다 ... 데이터베이스의 인코딩 스키마를 사용하여 데이터가 저장되는 것처럼 ... bcoz 나는 영어를 제외한 다른 언어를 사용합니다. 저장 장치는 DB에 어리석은 코드를 보여줍니다. 그러나 데이터를 검색하면 .. 표준 영어로 들어 왔습니다.데이터베이스의 데이터 저장 및 검색

+0

언어를 "사용"한다는 것은 무엇을 의미합니까? 몇 가지 코드를 제공 할 수 있습니까? – Tarnschaf

+0

잘 일반적으로 우리는 데이터베이스에 넣어 매체로 영어를 사용합니다 ...하지만 여기에 언어 의미 .. juz 웹에서 텍스트를 복사하고 지정된 위치에 붙여 넣기 .. 언어는 러시아어, 프랑스어, 힌디어 또는 ... – Sachindra

답변

1

다른 문자 세트를 사용하면 특히 응용 프로그램과 데이터 레이어 사이에서 데이터를 저글링 할 때 번거로움을받을 수 있습니다. 웹에서 찾을 수있는 튜토리얼/블로그 게시물이 많이 있습니다. "PHP MySQL UTF 데이터"에 대한 빠른 google은 매우 적은 수의 결과를 가져옵니다. 그러나 요약 :

PHP

PHP는 아직 기본 아주 좋은 유니 코드 지원 가 없습니다 : 그것은 MBString가 가장 적합한의 세 번째 부분 확장을 활용 훨씬 낫다.

MySQL은 당신은 당신의 테이블/열이 있는지 확인해야합니다

제대로 UTF 문자 데이터를 지원하도록 설정합니다.

ALTER TABLE theTabel MODIFY formTextField VARCHAR(255) CHARACTER SET utf8 

HTML

마지막으로, 당신은 당신의 HTML이 올바른 헤더와 함께 제공되고 있는지 확인해야합니다 :이 UTF 문자 집합을 사용하는 문제의 열을 변경/생성의 문제입니다

Content-type: text/html; charset=utf-8 
2

'언어'는 실제로 'character encoding'을 의미한다고 생각합니다. 계속해서 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)을 읽으십시오. 그것은 미래에 많은 어려움을 (그리고 다른;) 당신을 구할 것입니다.

기본적인 것은 처리 및 저장의 모든 단계에서 문자 의 인코딩을 알아야한다는 것입니다. 그렇지 않으면 정확하고 읽기 쉬운 출력을 보장 할 수 없기 때문입니다.

설정이 정상적으로 작동하는 것은 다소 운이 좋았지 만, 다른 앱에서 데이터베이스를 사용하거나 (현재 앱이 문자열을 처리하는 방식을 변경하는 즉시) 일이 매우 빠르게 무너질 수 있습니다 .

데이터베이스의 모든 문자가 동일한 인코딩 (유니 코드 버전 중 하나가 바람직 함)으로 저장되도록하여 응용 프로그램에서 필요할 수있는 다른 인코딩으로 안정적으로 변환 할 수 있도록하려는 경우.

+0

그 기사는 내 하루를 보냈습니다. 감사. –

관련 문제