В webapp я размещаю <div id="xxx" contentEditable=true >
для редактирования. encodeURIComponent(xxx.innerHTML)
будет отправлен через Ajax POST
на сервер, где скрипт PHP создает из него простой файл txt, который, в свою очередь, может быть загружен от пользователя для его локального хранения или печати на экране. Пока он работает отлично, но ... Да, но кодировка символов - беспорядок. Все специальные символы, такие как немецкий Ä
, интерпретируются неправильно. В этом случае как ä
Я google в течение нескольких дней, и я изучаю методы PHP, такие как iconv()
, и я знаю, как настроить кодировку символов браузера, а также установить текстовый редактор для правильного корреспондирующего декодирования. Но ничто не помогает, его все еще беспорядок, или становится даже натянутым.Кодировка символов/декодирование становится беспорядком
Так что мой вопрос: где в этом кодировании/декодировании в оба конца от браузера к серверу и обратно в браузер мне нужно что-то делать, чтобы Ä
по-прежнему был Ä
?
благодарит за подсказку. HTML-документ, который наследует 'conteneditable', объявляется как' '. Может ли это быть перезаписано?Запрос XMLHttpRequest/Ajax не имеет специальной кодировки, кроме 'encodeURIComponent'. Поэтому UTF-8 должен пройти. serveride У меня нет специальной настройки кодирования/декодирования. Как это сделать ? Где объявлять заголовки HTTP-ответа для downlaoding? – Ben
HTTP-заголовок «Content-Type» в ответе будет переопределять любую кодировку символов, указанную в самом документе HTML, например. используя тег '. Проверьте свою консоль на значение заголовка «Content-Type» «text/html; charset = utf-8» для веб-страницы и «text/plain; charset = utf-8» для загрузки файла. Если они ошибочны, исправьте их в своем серверном приложении с помощью функции 'header()' PHP: http://php.net/header :) – kieranpotts