[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: После iconv в базу записываются кракозябры
El` Mor
Для начала есть у нас хтмл файл
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />


Я получив файл его содержимое перекодирую и вывожу:
$result = iconv('CP1251', 'UTF-8', $result);
var_dump($result);

соответственно правильно отображается только при утф8 в браузере установленной кодировке.
Потом начинается немного непонятное:
Я делаю preg_match_all; он работает если не ставить в регулярке '//u' в конце.

И соответственно найденные данные я записываю в базу:
$connection = new PDO('mysql:host='.self::$server.
';dbname='. self::$db,self::$user, self::$pass
//, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
))
throw new Exception('Error connecting to db!');

$setEncodingMysql = $connection->query('SET NAMES UTF-8');
}


и соответственно запись данных.
но в бд записываются "кракозябры"...
Полазил в нете... вроде делаю все там описанные шаги. но ошибка остается.

 ! 

М
Выделяйте код специальными тегами !
Winston




Спустя 14 минут, 16 секунд (2.01.2012 - 18:12) dadli написал(а):
El` Mor
если charset=windows-1251"
почему так:
iconv('CP1251', 'UTF-8', $result);


а не так:
iconv('windows-1251', 'UTF-8', $result);
?

может я бред гаварю и ети кодировки абсалюатна идентични? разница толко в имени?

Спустя 27 минут, 8 секунд (2.01.2012 - 18:39) Winston написал(а):
Цитата (dadli @ 2.01.2012 - 17:12)
и ети кодировки абсалюатна идентични?

Ага.
El` Mor
Посмотри тему.

Спустя 4 часа, 19 минут, 22 секунды (2.01.2012 - 22:58) El` Mor написал(а):
Цитата (Winston @ 2.01.2012 - 15:39)
Цитата (dadli @ 2.01.2012 - 17:12)
и ети кодировки абсалюатна идентични?

Ага.
El` Mor
Посмотри тему.

Я ее читал первым делом. Вроде что написано там делаеться, а именно:
1)получаю файл с заголовками.
2) использую mysql_query('SET NAMES utf8'); (в вариации для пдо)
3)Использую iconv (его там нет, но это удобный метод изменения кодировки)

Мне кажется что я просто туплю как говориться..., blink.gif

Спустя 7 минут, 1 секунда (2.01.2012 - 23:05) Winston написал(а):
Какая у тебя кодировка файла?
БД в какой кодировке?

Цитата (El` Mor @ 2.01.2012 - 21:58)
Мне кажется что я просто туплю как говориться...,

Вот до чего доводит манипуляции с кодировками, не проще все делать в одной кодировке?

Спустя 11 часов, 24 минуты, 2 секунды (3.01.2012 - 10:29) El` Mor написал(а):
Цитата (Winston @ 2.01.2012 - 20:05)
Какая у тебя кодировка файла?
БД в какой кодировке?

Цитата (El` Mor @ 2.01.2012 - 21:58)
Мне кажется что я просто туплю как говориться...,

Вот до чего доводит манипуляции с кодировками, не проще все делать в одной кодировке?

1) насчет кодировки - я получаю содержимое file_get_content
html файл с хедером соответствующим.
2) таблица создается

CREATE TABLE `table1` (
`id` INT UNSIGNED AUTO_INCREMENT NOT NULL,
`name` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=INNODB DEFAULT CHARSET=UTF8;

в одной кодировке к сожалению не получается. кодировку файла не я выбираю.

Спустя 48 минут, 2 секунды (3.01.2012 - 11:17) El` Mor написал(а):
И соответственно вот что записывается в базу

'ГђВєГ‘В€ГђВ°ГђВґГ‘ВƒГ‘В‰ГђВ°Г‘ВЏГ‘ВЃГ‘ВЏ ГђВŸГђВђГђВќГђВ”Г 4;Вђ, затаиà ђВІГ‘ВˆГђВёГђВ№Г'
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.