2010-07-01 4 views
0

json_encode를 사용하여 json_encode를 사용하여 php 배열을 json으로 변환합니다.이 json 데이터를 내 데이터베이스에 기록합니다. json_encode가 데이터를 인코딩 할 때 문자열을 utf8로 변환하기 때문에 특수 문자가 '/ u011f '또는'/ u0131 '. 그러나이 변환 된 데이터를 mysql 데이터베이스에 쓸 때 백 슬래시가 필드에서 사라 지므로이 데이터를 다시 가져올 때 html이 문자를 올바르게 렌더링 할 수 없습니다.Json-Mysql Charset 문제

백 슬래시를 유지하려면 어떻게해야합니까?

+0

항상 mysql_real_escape_string 또는 pdo/mysqli prepared statements를 사용하고 있는지 확인하십시오. SQL 주입 공격은 물론 다른 문제도 피하는 것이 중요합니다. – JAL

답변

1

mysql_real_escape_string()을 사용하면 데이터베이스를 보내기 전에 문자열 데이터를 이스케이프 처리하여 mysql이 백 슬래시를 이스케이프 문자로 처리하지 않도록 할 수 있습니다.

2

문자열을 데이터베이스에 삽입하기 전에 이스케이프하려면 mysql_real_escape_string을 사용하십시오.

escapedJSON = mysql_real_escape_string(jsonEncodedString); 
관련 문제