У меня есть проект с русскими значениями в БД.Все, что мне нужно сделать, это повторить их, но это оказывается сложнее, чем ожидалось.Все русские буквы просто печатаются как вопросительные знаки.IE: ???????????Все английские буквы печатаются просто отлично для каждой кодировки, которую я пробовал.
Чтобы упростить поиск неисправностей, я играю в своей песочнице:
<code><?php
//header('Content-Type: text/html;charset=koi8-r');
//header('Content-Type: text/html;charset=windows-1251');
header('Content-Type: text/html;charset=utf-8');
if(!$link = mysql_connect('localhost', 'id', 'pass')) die('Could not connect: ' . mysql_error());
//mysql_set_charset('ISO-8859-1',$link);
//mysql_set_charset('ISO-8859-5',$link);
//mysql_set_charset('windows-1251',$link);
mysql_set_charset('UTF-8',$link);
//mysql_set_charset('KOI8-R',$link);
if (!$db = mysql_select_db('db', $link)) die ("Can't use DB : " . mysql_error());
$result = mysql_query('SELECT * FROM book');
while($row = mysql_fetch_assoc($result)) {
echo'<pre>';print_r($row);echo'
';$ str = $ row ['russian'];$ str = mb_convert_encoding ($ str, "UTF-8", "KOI8-R");echo $ str;}?>
Поле таблицы имеет сопоставление koi8r_general_ci.Я попытался изменить его на ut8_bin и utf8_unicode_ci.Похоже, ни один из них не помог, поэтому я вернул его обратно.
Как видите, я пробовал несколько кодировок.Я еще не нашел исправления.Я впадаю в отчаяние:)
~ Mo
К вашему сведению: я пишу код в NetBeans на Win7-64.Сервер = стек WAMP.