crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Получение из бд русских символов и их пересылка в php
Zizilk
  опции профиля:
сообщение 21.8.2010, 11:42
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(DIMEDROLL @ 21.8.2010, 12:20) *
для начала проверь тип QVariant:
QVariant v = squery.value(rec.indexOf("name"));
if (v.type() == QVariant::ByteArray) {
  // print to console
  // тут будем раскодировать
} else if (v.type() == QVariant::String) {
  // print to console
  //
}


и ты не ответил, какую кодировку хочет пхп?

PHP я пробовал разную кодировку, как менял в сорцах, так и в браузере, результат почти всегда один ток вместо нака градуса ромб с вопросом получается.


Тогда ща поколдую, вnx и с выводом в консоль

Значит попробовал сделать ту вилку которую ты сказал.
Пошёл по первой ветви, где у тя написанно "будем раскодировать."

Вывесит в консоль как говорил Litkevich Yuriy не получилось, тк я не нашёл какая кодировка в консоли
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 21.8.2010, 11:54
Сообщение #12


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


значит QVariant хранит QByteArray, там где // тут будем раскодировать напиши:

QByteArray bytes = v.toByteArray();
QString result = QString::fromUtf8(bytes.constData(), bytes.size());

теперь в result у тебя валидная строка и ее можно вывести в консоль или куда тебе угодно

см.:
QString::toAscii ()
QString::toLocal8Bit ()

У тебя какая ОСь и язык ОСи(локаль)? Какая кодировка консоли?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zizilk
  опции профиля:
сообщение 21.8.2010, 12:03
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ось win 7 starter но прога планируется будет работать под убунтой.
Язык оси вроде русский, с кодировкой консоли разобраться не могу), только знаю, что её не трогал)

Супер) помогло)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 21.8.2010, 12:12
Сообщение #14


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


а как ты в пхп передаешь? он ведь тоже принимает какую то свою кодировку, которая где то в конфиге прописывается...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zizilk
  опции профиля:
сообщение 21.8.2010, 12:18
Сообщение #15


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


Через сокеты, передаю) Но факт в том, что сейчас у меня заработало)
$out = socket_read($socket, 2048);

На клиентской стороне стоит такой кусок кода, который принимает глыбу данных(в виде строки) от сервера, в которую входит и та самая злополучная строка. После чего она распиливается.

В php единственный раз когда пришлось лезть в конфиг когда разблочивал сокеты. До этого на php работал с базами данных mysql(в том числе и с той в которой сижу конкретно сейчас) и проблем никогда не было
Но факт в том, что сейчас у меня заработало)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 21.8.2010, 12:37
Сообщение #16


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


сейчас все работает потому что кодировка ОСи и ПХП совпадают, на убунте могут быть баги, так же как и на какой то Французкой винде... но ладно, не буду больше тебя доставать вопросами)
вот только посоветую почитать хорошую статью про все эти кодировки и юникод
статью, кстати, было бы неплохо перевести на русский(если еще не перевели)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2024, 1:07