Иностранные символы не отображаются правильно в php

имеет элемент массива и вызов массива files содержит все необходимые вам материалы

var file = document.getElementById("upload");

file.addEventListener("change", function() {
    for (var i = 0; i < file.files.length; i++) {
        console.log(file.files[i].name);
    }
}, false);
1
задан zeckdude 4 June 2010 в 23:51
поделиться

4 ответа

Для поддержки этих символов необходимо выбрать

  • набор символов, содержащий эти символы, обычно Unicode
  • кодировку символов, которая отображает символы в базовый поток байтов, обычно ] UTF-8 или, реже, UTF-16 .

Давайте перейдем к Unicode / UTF-8, потому что это рекомендуемый стандарт. Вы должны убедиться в следующем:

  • Данные, которые вы вставляете в базу данных, находятся в UTF-8, или, если это не так, вы должны преобразовать их (например, с помощью iconv или mb_convert_encoding ). Если вы вставляете данные из HTML-форм, убедитесь, что вы добавили атрибут accept-charset = "utf-8" к вашим элементам
    .
  • Ваша база данных должна поддерживать юникод. В MySQL см. Синтаксис CREATE DATABASE и поддерживаемые наборы символов / сопоставления (читай: кодировки). Вам следует выбрать UTF-8 / Unicode.
  • База данных должна знать, что драйвер PHP MySQL будет передавать строки в UTF-8 (т. Е. Для кодировки клиента должна быть установлена ​​UTF-8). В MySQL это делается с помощью оператора SQL SET NAMES UTF8 .
  • Веб-сервер должен объявить, что его содержимое закодировано в UTF-8. В PHP это делается с помощью заголовка ('Content-type: text / html; charset = utf-8');
0
ответ дан 3 September 2019 в 00:02
поделиться

Скорее всего, вы неправильно установили кодировку клиента Mysql.
Вы должны выполнить запрос SET NAMES , где - это кодировка вашей HTML-страницы.

Обратите внимание, что нет никаких «иностранных символов», а есть только кодировка .
Вы должны знать, в какой кодировке используются ваши символы, и правильно настроить это во всех трех частях веб-приложения:

  • База данных. Кодировка таблицы должна соответствовать фактической кодировке данных.
  • PHP как клиентская кодировка базы данных. УСТАНОВИТЕ ИМЕНА, упомянутые выше.
  • Кодировка браузера. Устанавливается заголовком, упомянутым выше другими SO'ерами, или другими настройками сервера.
2
ответ дан 3 September 2019 в 00:02
поделиться

Какую кодировку вы используете в своей базе данных и какую кодировку вы отправляете в браузер через header () или HTML? Убедитесь, что они соответствуют вводимым вами данным.

0
ответ дан 3 September 2019 в 00:02
поделиться

Вы должны изменить кодировку базы данных, а также указать кодировку в заголовках PHP на UTF-8. MySQL позволяет вам выбрать кодировку по умолчанию, либо для каждой таблицы, либо для каждого поля.

header('Content-Type: text/html; charset=UTF-8');

Если вы сохраните согласованность кодировки вашей базы данных и ваших скриптов, у вас не должно возникнуть никаких проблем.

0
ответ дан 3 September 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: