2009-04-13 3 views
2

При извлечении данных из базы данных MySQL на веб-страницу все эллипсы (...) в данных отображаются с помощью в Firefox или квадратного окна в IE7.Ellipsis unviewable в HTML

Неужели кто-нибудь сталкивался с этой проблемой раньше?

Спасибо.

обновление 1: Я только что изменил оригинальный эллипсис «...» на «...» (три точки), и теперь он работает? Любая идея, что это может быть?

+0

Извините! Я больше не редактирую, или мы будем бросать сообщение бедного парня в режим CW, просто вскидывая изменения друг друга! –

+0

Простите мои правки, я думал, что скобки могут быть более известным термином. – Soviut

+0

О, я понял! Вы думали, что он говорит о круглых скобках (или круглых скобках), но эллипсис - это вещь внутри * parens, которая выглядит как три точки. –

ответ

3

Возможно, вы вытаскиваете данные UTF-8 из своей базы данных на сайт с ISO (или другим) кодированием.

Что такое кодировка в вашей базе данных и какова кодировка заголовка для вашего html?

+0

Я предполагаю, что база данных закодирована в windows-1252 (ISO-8859-1 даже не имеет ...), а веб-сайт находится в UTF-8. – d0k

2

Это действительно проблема с кодировкой, но вместо того, чтобы пытаться обойти это, я предлагаю вам использовать более правильный подход для эллипсов кодирования как `& hellip; ' HTML-объект.

В качестве альтернативы вы можете проверить его, выбрав «Просмотр»> «Кодировка символов» в Firefox или аналогичный в IE. Скорее всего, вы будете в конечном итоге, чтобы добавить:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 

или

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
+0

Сущность на самом деле ... – mipadi

+0

Лично я не считаю HTML-сущности «более правильными» вообще. Они являются неполным обходным решением проблемы кодирования, специфичной для HTML и просто уродливой. –

+0

Согласен с Майклом. Здесь лучше исправить проблему кодирования, вместо того чтобы пытаться обойти ее с сущностями. Так или иначе, он рано или поздно закроет свою уродливую голову. – Joey

1

Это зависит от набора символов вашей БД

вы всегда можете заменить их & hellip;

1

Я только что сменил оригинальный эллипсис «...» на «...» (три точки), и теперь он работает?

Скорее всего, вы хотите, чтобы все равно. Символ U+2026 HORIZONTAL ELLIPSIS является символом совместимости, включенным для поддержки округления между Unicode и старыми наборами символов, таких как Windows cp1252 (западноевропейская кодовая страница), где эллипсис существует как символ в своем собственном праве.

(Идея состоит в том, что на современных системах вы просто используете три точки, если шрифт хочет сделать интервалы разными в многоточии - в большинстве случаев нет - они могут обеспечить авто-лигатуру, когда набираются три точки .)

эллипсы все эллипсис в :-)

в данных отображаются с в светлячок или квадратика в IE7.

Возможно, все ваши другие символы, отличные от ASCII, также подвержены влиянию; вы можете увидеть похожие результаты, когда используются «умные кавычки» или диакритические знаки.

Скорее всего, ваша база данных содержит символы, хранящиеся в виде Windows cp1252 байт, но конечная веб-страница, в которую вы выплевываете их, - это UTF-8 (по умолчанию или из-за этого намеренно устанавливается таким образом).

Вы можете проверить это, перейдя в меню браузера View-> Encoding и выбрав «Western European» (1252) вместо «UTF-8». Пока вы можете исправить это, изменив кодировку веб-страницы, созданной на cp1252, было бы лучше изменить содержимое базы данных так, чтобы все было UTF-8; то все символы Юникода будут использоваться в вашем приложении.

Как вы это сделаете, это зависит от того, какой язык/платформа вы используете.

Смежные вопросы