[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не могу найти проблему с кодировкой
daslex
$str_arr = array("Привет","POKA",'TRULALA');//массив слов

$cwet = "red";
foreach($str_arr as $word){
for($j=0;$j<strlen($word);$j++){
$a = $word[$j]; // буква
echo "<span style='color:".$cwet."'> $a </span>";
}
}


Если убрать теги <>, то русские символы пишет правильно.

Принимавшиеся меры:
==========
default charset = utf-8 (в настройке сервера)
AddDefaultCharset UTF-8 (.htaccess)
echo "<meta charset='utf-8' />"; (выводом в html)
header("Content-Type: text/html; charset=UTF-8"); (послание заголовка)
==========
Файл сохранён в UTF-8 без BOOM, это точно. Сохранял в HTMLPAD Fisherman, notepad++, пробовал местную утилиту, которая BOOM не увидела.

"Привет" Выводит так: � � � � � � � � � � � �

Исправляется?
redreem
в utf8 пробежаться "побуквенно по индексу" не получится. конвертни в cp1251, пробегайся по буквам, а при выводе конверти в utf8.
Michael
mb_strlen
mb_substr

_____________
There never was a struggle in the soul of a good man that was not hard
daslex
Спасибо, вышло, но криво:
$str_arr = array("Привет","POKA",'TRULALA');//массив слов

$color = "red";
foreach($str_arr as $word){
$str = iconv('utf-8', 'windows-1251', $word);
for ($i=0;$i<mb_strlen($str);$i++){
$a = iconv('windows-1251','utf-8',mb_substr($str,$i,1)); // буква
echo "<span style='color:".$color."'> $a </span>";
}
}


Пр иве т P O K A T R U L A L A
Пробелы.
Michael
не нужна никакая перекодировка

_____________
There never was a struggle in the soul of a good man that was not hard
daslex
Michael
Точно. Спасибо. Не нужна.
Lana
Добрый день, подскажите пожалуйста как можно это исправить? При выводе из базы данных выходят знаки вопроса, а остальной текст нормально пишется. Кодировка utf-8
RootPM
Цитата (Lana @ 21.10.2016 - 10:03)
Добрый день, подскажите пожалуйста как можно это исправить? При выводе из базы данных выходят знаки вопроса, а остальной текст нормально пишется. Кодировка utf-8

В DB таблица в какой кодировке?

После $link = mysqli_connect():
mysqli_set_charset($link, 'utf8');


_____________
Все будет офигенно. Кому-то сразу, кому-то постепенно.
Lana
Сама таблица находится в кодировке utf_general_ci
TranceIT
Сама база может и в UTF-8, а текущее соединение - нет:

mysql_query("SET NAMES 'utf8'"); 
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");


_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
Lana
А это соединение где прописать? В файле конфигурации? Или в файле php?
TranceIT
Lana
Сразу после подключения к бд.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
Lana
Обязательно попробую сделать сделать и отпишусь))) заранее спасибо за помощь. Я только начинающий специалист и не в курсе всех тонкостей.
Guest
Цитата (RootPM @ 21.10.2016 - 10:48)
Цитата (Lana @ 21.10.2016 - 10:03)
Добрый день, подскажите пожалуйста как можно это исправить? При выводе из базы данных выходят знаки вопроса, а остальной текст нормально пишется. Кодировка utf-8

В DB таблица в какой кодировке?

После $link = mysqli_connect():
mysqli_set_charset($link, 'utf8');

cfvg
Lana
Спасибо большое за помощь, но мне это не помогало, пока в Xampp в конфигурации не убрала три решётки кодировки utf8 и сразу всё заработало.
Быстрый ответ:

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