хранение и поиск данных в базе данных - PullRequest
1 голос
/ 31 октября 2009

в PHP при использовании формы детали, которые мы вводим, должны храниться в базе данных ... это похоже на то, что данные хранятся с использованием любой схемы кодирования в базе данных ... bcoz, когда я использую другой язык, кроме английского хранилище показывает некоторые абсурдные коды в БД ... но когда я получаю данные .. все происходит так, как я поступил на стандартном английском языке ...

Ответы [ 3 ]

3 голосов
/ 31 октября 2009

Вам необходимо проверить шрифт кодировка в базе данных. То же самое относится и к html . Вы также должны использовать руководство php для кодирования строк php

2 голосов
/ 31 октября 2009

Я думаю, что под «языком» вы на самом деле имеете в виду «кодировка символов» . Пожалуйста, продолжайте и читайте Абсолютный минимум, который должен знать каждый разработчик программного обеспечения. Абсолютно, положительно должен знать о Unicode и наборах символов (без оправданий!) . Это избавит вас (и других;) от многих неприятностей в будущем.

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

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

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

1 голос
/ 31 октября 2009

Работа с различными наборами символов может иногда становиться немного сложнее, особенно при манипулировании данными между приложением и слоями данных. В Интернете можно найти множество учебных пособий / постов в блогах - быстрый поиск «данных PHP MySQL UTF» дает довольно мало результатов. Но в заключение:

PHP

PHP не имеет нативных очень хорошая поддержка Юникода пока : гораздо лучше использовать расширение третьей части, из которых MBString является лучшим .

MySQL

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

ALTER TABLE theTabel MODIFY formTextField VARCHAR(255) CHARACTER SET utf8

HTML

Наконец, вам нужно убедиться, что ваш HTML обслуживается с правильными заголовками

Content-type: text/html; charset=utf-8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...