2013-06-28 2 views
0

Я новичок в использовании PHP в Windows Server 2008 с SQL Server. Когда я хочу опубликовать (или с помощью метода get) некоторые переменные, и я хочу их хранить в базе данных, он преобразует символы как пробел ->%20 и é ->%C3, но я не хочу, чтобы система сохраняла %20 или %C3, но фактический символ é. Как я могу это сделать? Страница имеет кодирующий UTF-8 и сверка является Latin1_General_100_CS_ASСпециальные символы в php - SQL Server

ответ

0

Я собираюсь принять удар на ветру, но при выполнении получить данные формы кодируются в URL, и вы Получи это поведение. Использование метода post не обязательно должно кодировать значения формы для пробелов, но для специальных символов. Вот хорошая ссылка, чтобы посмотреть, http://webmonkeyuk.wordpress.com/2011/04/23/how-to-avoid-character-encoding-problems-in-php/.

0

http://php.net/manual/en/function.urldecode.php

Попробуйте urldecode.

Это займет защищенные URL-адреса и преобразует их в фактические символы. См. the manual.

Обратите внимание на предупреждение в руководстве, что вам не нужно делать это с помощью переменных GET или POST. Они автоматически декодируются.

$my_var = $_GET['my_weird_character']; 

$ my_var уже должен быть декодирован и готов для ввода в вашу БД. Вы уже пробовали? Прежде чем беспокоиться и задавать такие вопросы, почему бы не попробовать и посмотреть, работает ли это в первую очередь?