Зачем вставлять в базу данных дату валютирования как: شهريور?

Как найти это слово в базе данных (شهريور)?

 In database: structure => date => varchar(255) => utf8_general_ci = "شهريور".
2
Kate Thompson 29 Авг 2011 в 18:06

2 ответа

Лучший ответ

Вам не нужно экранировать эти символы с помощью html, если у вас есть таблица UTF *, и вы это делаете.

Просто убедитесь, что таблица - UTF8, соединение - utf8, а браузер читает тексты как utf8.

  • для mysql см. SET CHARACTER SET, SET NAMES, SET COLLATION_CONNECTION
  • для html используйте <meta content="text/html;charset=UTF-8" http-equiv="Content-Type" /> и соответствующие заголовки http, если необходимо
1
Quamis 29 Авг 2011 в 14:33

Ваш веб-сайт использует кодировку, в которой эти символы не существуют, поэтому браузер вместо этого отправляет объекты HTML.

(Попробуйте это здесь: http://codepad.viper-7.com/dfFMvW; эта страница находится в ISO-8859-1, если вы отправляете во входные данные символы, отличные от ISO-8859-1, они отправляются как объекты HTML.)


Чтобы этого избежать, вам нужно использовать другую кодировку, например UTF-8.

Добавьте этот заголовок в свой тег <head>:

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

Или сделайте это в своем PHP, прежде чем что-либо печатать:

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

И убедитесь, что ваша база данных тоже использует UTF-8.


Вы можете преобразовать свою базу данных в UTF-8, выполнив следующие действия:

ALTER DATABASE your_database CHARACTER SET utf8;
-- for each table:
ALTER TABLE some_table CONVERT TO CHARACTER SET utf8;

И после подключения к базе данных отправьте этот запрос:

SET NAMES UTF8;
2
Arnaud Le Blanc 29 Авг 2011 в 14:47