2009-10-31 4 views
1

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

+0

Что вы подразумеваете под «использованием» языка? можете ли вы предоставить код? – Tarnschaf

+0

Хорошо, как правило, мы будем использовать английский как среду для размещения в базе данных ... но здесь язык означает .. любой локальный язык, для которого juz скопировать текст из Интернета и вставить на указанную позицию..язык может быть русский, французский, хинди или ... – Sachindra

ответ

1

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

PHP

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

MySQL

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

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

HTML

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

Content-type: text/html; charset=utf-8 
2

Я думаю, что на «языке» вы на самом деле имеете в виду 'character encoding'. Пожалуйста, продолжайте читать и читайте The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!). Это спасет вас (и других;) много неприятностей в будущем.

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

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

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

+0

Эта статья сделала мой день. Благодарю. –

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