Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > ASCII в UTF-8 никак не переводится


Автор: Win MK 32 27.7.2012, 22:21
Все три способа приводят к тому, что в $enc содержится "ASCII", а в БД заносится текст в виде "????? ???".
Код

//$q = iconv( 'ASCII', 'UTF-8//IGNORE', $_GET['q']);
//$q = utf8_encode($_GET['q']);
$q = mb_convert_encoding($_GET['q'],'utf-8','auto');
$enc = mb_detect_encoding($q);

Автор: Fortop 27.7.2012, 22:33
подключение к БД как происходит?

Какая кодировка сервера и подключения по-умолчанию?

Автор: Win MK 32 28.7.2012, 23:59
Цитата(Fortop @  27.7.2012,  20:33 Найти цитируемый пост)
подключение к БД как происходит?

Код

header('Content-Type: text/html; charset=utf-8');
mysql_connect("...", "...", "...") or die (mysql_error());
mysql_select_db("runet_11007545_note") or die (mysql_error());
mysql_set_charset('utf8') or exit(" mysql_set_charset('utf8') 2Error");

Пробовал еще дописать после этого(не помогло): 
Код

$query0 = "SET NAMES 'utf8';";
$sql0 = mysql_query($query0) or die(mysql_error());



Цитата(Fortop @  27.7.2012,  20:33 Найти цитируемый пост)
Какая кодировка сервера и подключения по-умолчанию? 

В Операциях в Параметрах таблицы значится utf8_general_ci, в поле Сравнение для каждого поля таблицы - тоже utf8_general_ci. Или что-то еще надо чтобы было настроено? Я немножко не понял просто.

P.S. Запрос делаю не через браузер, а через приложение для Android, которое называется Tasker.
Через браузер - проблем не возникает с добавлением данных и кодировкой.

Добавлено через 6 минут и 28 секунд
Запрос SHOW VARIABLES LIKE  'char%' выдал следующее
Цитата

character_set_client    utf8
character_set_connection    utf8
character_set_database    latin1
character_set_filesystem    binary
character_set_results    utf8
character_set_server    latin1
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/

Нужно ли что-то поменять в настройках? Если да, то скажите пожалуйста какими запросами или как через phpMyAdmin.

Автор: Win MK 32 29.7.2012, 01:51
Создал пустой файл на компе (Windows 7) и скопировал его по FTP. Потом запустил скрипт, который записывает в него. Потом скопировал файл с FTP и открыл. В файле "??????". Значит проблема не в БД наверное... Как дальше бороться за жизнь? smile

Автор: Fortop 29.7.2012, 03:57
Цитата(Win MK 32 @  29.7.2012,  01:51 Найти цитируемый пост)
и открыл. В файле "??????".

Чем открыли?

Поставьте редактор, который поддерживает кодировки.
Или встроенный в Far или Notepad++

и попробуйте попереключать между кодировками.


Цитата(Win MK 32 @  29.7.2012,  01:51 Найти цитируемый пост)
Потом запустил скрипт, который записывает в него.

Исходники скрипта есть?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)