Проблемы кодировки символов и PHP - что это за кодировка?

0

У меня есть файл на моем компьютере, который я хотел скопировать в таблицу MySQL с помощью PHP. Когда я открываю файл, содержимое выглядит отлично, как обычный текст, но, когда я пытаюсь прочитать файл с помощью PHP или вставлять в таблицу MySQL, я получаю всевозможные фанковые символы. Я думал, что это была проблема с utf-8, поэтому я попытался настроить заголовок

header('Content-type: text/html; charset=utf-8');

И затем повторяя содержимое, полученное file_get_contents(), но это не имело никакого значения - результат все еще был напуган. Я тогда подумал, возможно, это была проблема cp1252, поэтому я попытался использовать htmlentities(), но это также не помогло:

htmlentities($str, ENT_QUOTES, 'cp1252')

Затем я загрузил файл на сайт (здесь). На сервере, когда я 'cat' файл, он снова выглядит нормально, но в Firefox, когда я его открываю, я получаю напуганные символы. Вот скриншот того, что мне нравится: скриншот

Как ни странно, я скопировал тот же точный файл в другую папку веб-сайта на том же сервере, и все же, когда я открываю этот файл по новому URL-адресу (см. здесь) один и тот же файл в Firefox выглядит другим - все же некоторые фанки-персонажи, но меньше. Снимок экрана с другим видом: скриншот

Кто-нибудь знает, что происходит здесь, и как я могу очистить персонажей? Какая кодировка символов используется для этого файла - и почему один и тот же файл отличается в Firefox при копировании с одного сайта на другой сервер?

Теги:
utf-8
encoding
character

2 ответа

1
Лучший ответ

Ваш файл находится в UTF-16; попробуйте использовать это как кодировку в Firefox. Это выглядит намного правильнее, хотя есть еще некоторые паразитные символы CJK, которые могут быть вызваны тем, что некоторые из ваших персонажей находятся в неправильной форме.

Не забудьте принять ответ на все ваши вопросы, где был предоставлен хороший ответ; многие люди из Qaru не могут продолжать отвечать на ваши вопросы с отсутствием мотивации репутации.

  • 0
    Спасибо. Странно то, что второй URL-адрес открывается автоматически в UTF-16 в Firefox, а первый URL-адрес открывается автоматически в UTF-8. Это объясняет разницу между скриншотами. Интересно, почему это будет?
1

У меня была эта проблема раньше. Существуют скрытые символы, которые НЕ МОГУТ отображаться в некоторых IDE.

Я смог разрешить это, открыв файл в "Блокноте" и скопировав текст, а затем удалив файл. Затем я создал файл с нуля и вставлял только простой текст.

Вы не хотите копировать текст с помощью чего-то вроде wordpad, так как это также скопирует скрытые символы.

EDIT:

Вы также можете попробовать принять ответы некоторых людей на свои предыдущие вопросы, так как вы получите больше ответов от людей, желающих помочь, если они знают, что вы обеспечите репутацию.

  • 0
    Благодарю. Я хотел бы иметь возможность автоматически убирать этих персонажей, но я открою новый вопрос для этого. И я вернусь и выберу ответы на мои предыдущие вопросы :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню