Почему строка с одинаковой кодировкой по-разному отображается в MySQL и HTML? - PullRequest
0 голосов
/ 12 ноября 2011

Это строка input , которую я ввел в своей HTML-форме:

람다 대수 (λ -, lambda -) 는 함수 정의, 함수 적용, 귀납적 함수 를이다 으로 표현 하기 위한 형식 체계 이다.1930 * Это строка, которая появляется в MySQL база данных поле TINYTEXT типа:

‹Œ‹ ‹Œ Œ ì ˜ ˜ Î Î (-» -, lambda -)) Š ”¨ ˆ ˆ ˆ •,, € € € € € € · € ë‚© ì í • ¨ìˆ˜ë ¥ ¼ ì ˜‹ ì ˜ ˜ ‹ì ˜ ¡œ ¡¡• œ ¡• • • • • • • • • 101 101 101 101 101 101 101 101 101 101 1013 *

Это вывод на HTML-странице при запросе:

람다 대수 (λ -, лямбда -) 는 함수 정의, 함수 적용, 귀납적 함수 를 수식10 표현 하기 위한 형식 체계이

И HTML, и база данных закодированы в UTF-8.Я хотел бы спросить о двух вещах:

  1. Почему поле в базе данных MySQL отображается иначе, чем в HTML?
  2. Что можно сделать, чтобы перехватить длину вбайтов указанной строки, чтобы убедиться, что она находится в пределах 255 TINYTEXT?

1 Ответ

2 голосов
/ 12 ноября 2011

Скорее всего, самая распространенная ошибка: вы не устанавливаете в своей базе данных соединение в правильную кодировку. См. , почему я должен использовать mb_convert_encoding ($ name, 'ISO-8859-15', 'utf-8'), чтобы получить акцентированные символы для отображения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...