Mysql Не отображение некоторых символов при записи в БД

Emeron

Новичок
Добрый день! При записи в MySQL-БД, некоторые символы(─ ┼ └ │) не распознаются(заменяются на '?'). Скрипт в кодировке utf8, подключение к БД осуществляю через mysqli, где тоже указываю соответствующую кодировку:
PHP:
//...

$db = @new mysqli($mysql_host, $mysql_user, $mysql_pass, $mysql_db); 
$db->set_charset('utf8');

if( mysqli_connect_errno() )
	$message = 'Не удалось подключиться к базе данных! Проверьте настройки соединения.';
elseif( $db->query( "INSERT INTO `Table` SET `ID` = '{$id}', `Text` = '{$db->escape_string($text)}'" ) )
	$message = 'Текст был успешно импортирован!';
else
	$message = 'Возникла ошибка при работе с базой данных!';

//...
 

Emeron

Новичок
В файле эти символы отображаются, а кириллица видна и там и там.
 

Emeron

Новичок
`Text` longtext cp1251_general_ci
Вся таблица в cp1251. По последним моим выводам, мне кажется, что нужно как-то отобразить текст в utf8 в кодировке cp1251, но нужно как-то заменить отсутсвующие символы на мнемоники, что я и сделал
 

Emeron

Новичок
но отображает вот что:
нения

Настоящий стандарт распространяется на оконные и балконные дверные блоки из поливинилхлоридных профилей по ГОСТ 30673 одинарной конструкции со стеклопакетами (далее - оконные блоки или изделия) для зданий и сооружений различного назначения.

Допускается распростÑ
 

Emeron

Новичок
преобразую я utf8-кодированную строку в windows-1251 с мнемоникой функцией ниже:
PHP:
function utf8_to_cp1251($string)
						{
							if( strlen($string) == 0 ) return $string;
							$result = preg_split("//", $string, -1, PREG_SPLIT_NO_EMPTY);
							$ord = 0;
							for( $i = 0; $i < count($result); $i++ )
							{
								$ord = ord($result[$i]);
								if( $ord > 127 ) $result[$i] = '&#'.$ord.';';
							}
							return /*iconv('utf-8', 'windows-1251', */implode('', $result)/*)*/;
						}
но выходит то, что выше..
 

Emeron

Новичок
но та же кириллица, почему-то показывается криво, хоть для нее, теоретически, должна была существовать своя мнемоника
 

Emeron

Новичок
вообщем, задача сводится к тому, как же отобразить utf-8 в виде windows-1251, не теряя символов.
 

fixxxer

К.О.
Партнер клуба
вообщем, задача сводится к тому, как же отобразить utf-8 в виде windows-1251, не теряя символов.
= задача сводится к тому, как запихать все числа из диапазона 0-65536 (на самом деле больше) в диапазон 0-255

ок решай =)
 

Emeron

Новичок
смотри выше - я писал о том, что есть мнемоника(&#XXXX; ), которой можно заменить символы, чей код больше 127, но почему-то не все символы так отображаются верно.
 
Сверху