2011-03-05 8 views
-3

this class을 사용하려고합니다. 그것은 잘 작동하고, 나는 전자 우편을 받고있다, 그러나 아랍 문자로 작동하지 않는다. 이 문제를 어떻게 해결할 수 있습니까?emailtodb 아랍어 문자로 PHP 클래스가 작동하지 않습니다.

+0

정확하게 작동하지 않는 것은 무엇입니까? 데이터베이스가 확장 문자 집합을 처리하도록 설정되어 있습니까? –

+0

작성자에게 필요한 문자셋에 대한 지원을 추가하도록 요청할 수 있습니다. – zerkms

답변

2

수정하지 않고 라이브러리 작성자가 제공 한 SQL을 사용하면 문제의 원인 일 수 있습니다. 주어진 테이블 정의는 모든 문자 세트 정보를 제외합니다. 즉, MySQL은 설정되어있는 기본 문자 세트를 사용합니다. 불행히도 기본 설정은 기본적으로 라틴어 변형 중 하나를 사용합니다 (그리고 나서 감히 스웨덴어라고 부릅니다).

테이블의 문자 집합을 변경해야 더 나은 결과를 얻을 수 있습니다. You will almost certainly need to set character sets on each table and on the connection itself.

또한 다른 라이브러리를 찾고 싶을 수도 있습니다. 주어진 코드는 분명히 고대이며 문서화가 잘되어 있지 않습니다. 문자 집합이 올바르게 처리되도록하기 위해 어떤 조치도 취하지는 않지만 데이터베이스가 잘못되었을 가능성이 훨씬 더 높습니다. (더 나쁜 것은 SQL 탈출에 대해 addslashes을 사용하는데, 이는 기본적으로 SQL 주입에 대해 가장 무서운 보호 수준입니다.)

+0

클래스가 서버에서 좋지 않은 텍스트를 가져옵니다. –

+0

코드는 텍스트가 특정 문자 집합에 있다고 가정하고 있습니다. 문자 세트를 다루기 위해 코드를 개조해야하거나 다른 솔루션을 찾아야 할 가능성이 큽니다. – Charles

관련 문제