2013-03-14 6 views
0

У меня есть база данных клиентов и я получаю название компании клиента из одной из таблиц (cache_cust). Я сохраняю «имя_компании» в этом формате, например, г-н € 2, г-н € 1, £ земля и т. Д. Эти символы валюты сохраняются правильно в database.BUT, когда я пытаюсь получить значение «Company_Name» они показывают мне персонаж, как это:Как получить символ валюты из базы данных с помощью php?

For example : for " Mr €2 " ,it shows " Mr €2 " . 

Как я могу отобразить свои данные на странице PHP, как он сохраняется в базе данных Как можно? я избегаю таких символов, которые появляются на моей веб-странице? Помните, что эти значения поступают из базы данных. Я пробовал htmlspecialcharacters и htmlentities, но они не работали. Пожалуйста, помогите. Спасибо

AN UPDATE: Когда я пытаюсь опубликовать текстовое поле «company_name» на следующей странице и попытаюсь извлечь его с помощью печати ($ _ POST ['company_name]); , он все еще НЕ отображает символы и не включает специальные символы.

+0

Ваша кодировка страницы должна быть UTF-8. – djjjuk

+0

@ djjjuk.Thanks.But Как я могу проверить или установить кодировку моей страницы в UTF-8, чтобы решить эту проблему? – BiL

ответ

0

Что такое набор символов/сортировка для поля company_name?

Похоже, у вас есть набор символов по умолчанию latin1. Вам нужно будет установить его в UTF-8 utf8_unicode_ci, если это так.

Также имейте в виду, что столбец не UTF8 - любые специальные символы, которые вы уже сохранили в нем, должны будут повторно сохраняться, поскольку они будут преобразованы из их многобайтовой формы в однобайтовое представление. Вы можете использовать this chart для выполнения замены строк, если вы находитесь в этой ситуации.

+0

@ Dab J.Thanks Но проблема не в базе данных. Проблема с моей веб-страницей php, которая неправильно отображает символы. Значения в базе данных хранятся правильно. Но не отображаются правильно на моей WEB-странице. – BiL

+0

Извинения - пропустили этот бит - вы пытались выполнить 'SET NAMES utf8' перед тем, как выбрать информацию о компании? – cloakedninjas

+0

@Dab J.Yes.i установили его в свой метатег. BiL

1

как ваша страница отображается - на PHP? если да, то попытайтесь поместить тип содержимого в UTF-8:

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

Спасибо. Уже установлен как: BiL

0

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

Например.

£ &pound; 
€ &euro; 
¥ &yen; 

etc. 
+0

НО, Я получаю значения из базы данных !! Я не могу их скомпоновать – BiL

+0

@BiL вы посмотрели руководство ['utf8_encode'] (http://php.net/manual/en/function.utf8-encode.php)? – Emissary

+0

@ Emisary. Проблема в том, что символы правильно хранятся в базе данных, но не появляются даже с использованием метода POST. Я пытался использовать $ _POST ['company_name'] без символа валюты! – BiL