Я использую SQL Server 2008, и у меня есть PDO-соединение
$con = new \PDO("sqlsrv:Server={$config['server']};Database={$config['database']}", $config['username'], $config['password']);
$con->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$con->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
Я хочу, мне нужно сохранить имя каталога, содержащее знак "&", без преобразования в &
например - имя каталога - "Новый и старый",
когда я сохраняю в базе данных, он преобразуется в " New & old
". Я хочу остановить это преобразование. Я, что бы сохранить его как "Новый и старый",
Вот код сохранения данных -
$stmt = $this->db->prepare( "SET NOCOUNT ON DECLARE @return_value int
EXEC @return_value = [dbo].[sp_update_t_Rfile2_RF2_Path]
@RF2_RfileID_pk_ind = ?, @RF2_Path = ?
SELECT 'Return Value' = @return_value
");
$return = null;
$stmt->bindParam(1,$fields['RF2_nd'],\PDO::PARAM_STR );
$stmt->bindParam(2,$fields['Path_New'],\PDO::PARAM_STR);
$stmt->execute();
Я звоню на этот код, используя POST-запрос, не Ajax. Когда я печатаю эти $ fields ['Path_New'] перед этим кодом, он возвращает "New & old" правильно, не будет никакой кодировки в POST.
Тип данных столбца базы данных - varchar (265), и я использую сервер IIS для PHP 5.3
У меня две системы, работающие на одной базе данных, одна из которых - система доступа, а другая - веб-приложение PHP. Система доступа, не работающая с &
пожалуйста, помогите мне остановить эту кодировку "&" до &
благодаря
Наконец, я нашел решение для этого, чтобы остановить сохранение & как &
нам нужно декодировать html-кодировку (UTF-8).
(PHP 4> = 4.3.0, PHP 5)
html_entity_decode
- конвертировать все объекты HTML в соответствующие символы
Дополнительная информация - http://php.net/manual/en/function.html-entity-decode.php
Теперь я могу сохранить и без преобразования в &
Мой обновленный код - @RK_Path = N'".\html_entity_decode($fields['txtRK_Path'])."',
Благодарю.
Вы должны использовать UTF-8 во всех страницах, php файлах и базе данных сортировки. Также проверьте это: qaru.site/questions/103553/...
Измените сопоставление с UTF-8 в базе данных MYSQL, а также кодировку в вашем php-скрипте
$con->setAttribute(\PDO::SQLSRV_ATTR_ENCODING,\PDO::SQLSRV_ENCODING_UTF8);
и моя мета информация <meta charset="utf-8">
, которая мне не нужна ... Мне нужно сохранить в db без кодирования в &