text===The dildo. Ruth worked the prowl. Afterabout <a href= http://site.com/643.html >
text===The dildo. Ruth worked the prowl. Afterabout <a href= http://site.com/643.html >********** ***** ******* *******</a> three minutes, i was supposed to see.|||
Submit===Отправить|||
s===70|||
c===159|||
p===1711|||
name===negwemcinu|||
[email protected]|||
site===http://site.com/529.html|||
quote_button===Цитата|||
spoiler_button===Спойлер|||
bold_button===Жирный|||
ment_date===1304351843|||
ment_ip===200.251.58.190|||
$utf = 'test тест test';
$win = iconv('utf-8', 'windows-1251', $utf) . ' windows encoding';
mysql_connect('localhost', 'root', 'root');
mysql_select_db('test');
$utf_q = sprintf('INSERT INTO utf_table (name) VALUES ("%s")', mysql_escape_string($utf));
$win_q = sprintf('INSERT INTO win_table (name) VALUES ("%s")', mysql_escape_string($win));
mysql_set_charset('utf8');
mysql_query($utf_q);
mysql_query($win_q);
mysql_set_charset('cp1251');
mysql_query($utf_q);
mysql_query($win_q);
mysql> select * from win_table;
+-------------------------------------+
| name |
+-------------------------------------+
| test ???? test windows encoding |
| test тест test windows encoding |
+-------------------------------------+
2 rows in set (0.00 sec)
mysql> select * from utf_table;
+------------------------------+
| name |
+------------------------------+
| test тест test |
| test тест test |
+------------------------------+
2 rows in set (0.00 sec)
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1
— третьего не дано? Возможно, у нас режимы разные. fixxxer же приводил ссылку. В STRICT_ALL_TABLES просто ошибку выдаст, у меня обрезается, у тебя — пытается считать до конца. Я как-то ничего особо удивительного не вижу. Это так принципиально как MySQL поведёт с левыми данными: обрежет или превратит в вопросики? Мне немного лень в это разбираться, если что нароешь — скажи. Для общего развития.Вурдалак или это коллективная галюцинация или кто то из нас ошибается
$text1 = iconv('UTF-8', 'WINDOWS-1251', 'привет мир');
$text2 = iconv('UTF-8', 'UTF-8', 'привет мир');
$_POST['text'] = $text1 . ' ' . $text2;
// Проверяем кодировку
if ( iconv('UTF-8', 'UTF-8', $_POST['text'] ) == false ) {
echo 'false';
} else {
echo 'true';
}
// Проверяем кодировку
if ( iconv('UTF-8', 'UTF-8', serialize($_POST) ) == false ) {
echo 'false';
} else {
echo 'true';
}
// Проверяем кодировку
if ( iconv('UTF-8', 'UTF-8', implode(' ', $_POST) ) == false ) {
echo 'false';
} else {
echo 'true';
}
$original = '';
foreach ( $_POST as $key => $val ) {
$original .= $key . '===' . $val . "|||\n";
}
// Проверяем кодировку
if ( iconv('UTF-8', 'UTF-8', $original ) == false ) {
echo 'false';
} else {
echo 'true';
}
Именно так. Пример:ерроры будут только в тех случаях, в которых iconv выдает при конвертации
~$ echo 'тест тест' | iconv -t cp1251 | iconv -f utf-8 -t utf-8
iconv: (stdin):1:0: cannot convert
Ага (без объявленного стрикт мода). И самый прикол в том, что без strict mode это behaviour by design.Но если муська что то там сохраняет при ошибках, то это проблема около ACID-ная