я использую для доступа к базам данных,
библиотеку PDO кодировку решил выбрать UTF-8,
так как она оптимальна для AJAX,
проблема появилась после того как я начал добавлять туда данные,
PDO оказывается экранирует символы,
кавычки я обратно разкомментировал а буковки не получается,
в кодировке cp-1251 PDO не портит буковки,
а как сделать чтобы в UTF-8 не портило.
1. scuter - 22 Февраля, 2008 - 00:16:49 - перейти к сообщению
2. RomAndry - 22 Февраля, 2008 - 01:43:13 - перейти к сообщению
SET CHARACTER SET utf8
SET NAMES utf8
SET NAMES utf8
3. scuter - 22 Февраля, 2008 - 14:44:01 - перейти к сообщению
это вставлять в запрос insert,
или к таблице применить.
или к таблице применить.
4. valenok - 22 Февраля, 2008 - 16:49:32 - перейти к сообщению
В каком смысле портит буковки?
И где PDO экранирует чтото само ?
И где PDO экранирует чтото само ?
5. RomAndry - 22 Февраля, 2008 - 19:45:35 - перейти к сообщению
Это сразу после установления коннекта
6. scuter - 23 Февраля, 2008 - 01:42:52 - перейти к сообщению
Цитата:
В каком смысле портит буковки?
И где PDO экранирует чтото само ?
В каком смысле портит буковки?
И где PDO экранирует чтото само ?
хм, экранизировал оказывается zend framework
который я использую, он то буковки и портил,
например все буквы "ш" на какую то хрень переделывает,
после слова "боль" ничего дальше не пишется,
сейчас попробовал всё это проделать на локальном компе
через обычную форму экранируются только кавычки, а на CMS-ке,
какие то непонятки творятся,
короче лучше показать код
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- include_once('./Zend/Db.php');
- include_once('./Zend/Json.php');
- function admin_db_connect($connect)
- {
- global $$connect;
- $$connect = Zend_Db::factory('PDO_MYSQL', array ('host'=> admin_host, 'username' => admin_username,'password' => admin_password,'dbname' => admin_dbname));
- }
- function admin_page($get=null)
- {
- global $db;
- if($get != null)
- {
- {
- {
- $data['textpage'] = $_POST['pagetext'];
- }
- {
- $data['name'] = $_POST['name'];
- }
- {
- $data['tpl'] = $_POST['tpl'];
- }
- {
- $data['Keywords'] = $_POST['Keywords'];
- }
- {
- $data['description'] = $_POST['description'];
- }
- $n = $db->update('test', $data, 'id = '.$get);
- }
- else
- {
- $select = $db->select()->from('test')->where(" `id` = ".$get);
- $result = $db->query($select);
- if(!$result)
- {
- 'id' => 'name',
- 'msg' => 'Страница не определена.'
- )
- );
- return Zend_Json::encode($error);
- }
- else
- {
- $rows = $result->fetchAll();
- foreach($rows[0] as $key => $val)
- {
- $out[$key] = $val;
- }
- return Zend_Json::encode($out);
- }
- }
- }
- else
- {
- 'id' => 'name',
- 'msg' => 'Страница не определена.'
- )
- );
- return Zend_Json::encode($error);
- }
- }
- $db = true;
- admin_db_connect('db');
- {
- }
- else
- {
- }