Тип данных MYSQL для длинного описания, специальные символы - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть длинное поле описания в таблице продуктов с типом данных: текст. Для сравнения используется значение latin1_swedish_ci.

Для продуктов в моей базе данных мне нужен верхний индекс 2, маркеры для списка и разрывы строк. Например, когда маркеры выводятся на странице, они выводятся как:

â € ¢

Можно ли как-нибудь обойти это, чтобы я мог правильно отображать свое длинное описание с переносами строк?

$product = $this->MProducts->getProduct($id);
$data['product'] = $product;

<?php echo "<p style='clear:both; padding-top:10px;'>".$product['longdesc']."</p>";?>

С уважением,

1 Ответ

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

Вы должны убедиться, что вы получаете правильный набор символов из MySQL.

SET NAMES 'charset_name' COLLATE 'collation_name'

http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

И вы должны убедиться, что строка является Unicode после ее получения.http://php.net/manual/en/function.utf8-encode.php

И вы должны кодировать html-объекты, если вы выводите данные в браузер.Здесь также важно указать кодировку.
http://php.net/manual/en/function.htmlentities.php

Надеюсь, это поможет ...

...