여기 문제를 찾으려고 할 때 내 수염이 자라고 있습니다.mysql 내용과 움라우트가있는 json_encode가 utf-8에 있습니다.
기본 문제는 Umlauts/Special Signs äöß ...가 작동하지 않는다는 것입니다. 나는 모두가 아프고 그 질문에 지쳤을 지 모르지만 온라인에서 발견 된 모든 해결책은 효과가없는 것처럼 보입니다.
utf-8 MySQL 데이터베이스에 utf-8 콘텐츠가 있습니다. 문제는 데이터베이스 연결의 어딘가에 있지만 나는 알아 내지 못합니다.
해서 character_set_client의 UTF8
character_set_connection을의 UTF8
character_set_database의 UTF8
character_set_filesystem 진
character_set_results의 UTF8
character_set_server 라틴 문제가 character_set_server 때문에의 라틴 인 경우
character_set_system UTF8
임 확실하지 메신저 그 MySQL 물건으로 아닙니다. 또한 mysql 서버의 설정 파일에 접근 할 수없는 원인을 변경하는 방법을 모른다.
무엇이든지 나를 혼란스럽게 만듭니다. 데이터베이스에서 내 결과를 얻고 에코하면 print_r이 올바른 결과를 제공합니다.
ini_set('default_charset','utf-8');
header('Content-Type: text/plain; > charset=utf-8');
파이어 폭스는 문자 인코딩이 UTF-8 만 말한다면 때 출력 :
print_r($listnew);
echo json_encode($listnew[5]);
인 print_r 결과 모든 권리 그러나 잘못이로 json_encode 않습니다.
에서 print_r :
[5] => Array (
[id] => 5
[data] => U-Bahnhof Theresienstraße
[size] => 17
)
로 json_encode :
{ "ID"5 "데이터": "U-호프 Theresienstra \의 u00dfe", "사이즈"17}
json_encode가 제대로 작동하려면 utf-8 문자열이 필요하고 여기서 인코딩 문제가있는 것 같은 느낌이 든다. 그러나 나는 그것이 어디 있는지를 알 수 없다.
감사합니다.
감사합니다.
I3
나는 그것이 아마도 디코딩에 의해 다시 번역 될 것이라는 사실을 몰랐다. 그래서 나는 어디에도 오류가없는 것을 추적했다. 난 그냥 출력을 생성하지만 나중에 json 개체를 처리하지 않습니다, 그래서 아마 다른 응용 프로그램에 의해 해결 될 것입니다. 죄송합니다. 도움을 주셔서 감사합니다. i3 – i3rutus
때때로 인코딩 할 때 json_encode ($ array, JSON_UNESCAPED_UNICODE) – Miguel