Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   MySQL + PHP + AS3 вместо кириллицы иероглифы! кодировка? (http://www.flasher.ru/forum/showthread.php?t=157369)

Artyom from Kiev 04.06.2011 17:05

MySQL + PHP + AS3 вместо кириллицы иероглифы! кодировка?
 
Доброго всем времени суток!
Прошу помощи специалистов и других пользователей если знаете в чем секрет :confused:, помогите!

у меня такая проблема:
есть база данных MySQL, есть флэшка и есть пхп скрипт. Пытаюсь записать в базу данных следующим образом,
код AS3 примерно такой:
Код AS3:

var request:URLRequest = new URLRequest( "Мои пхп скрипт" );    
var variables:URLVariables = new URLVariables();
 
variables.author = nameR.text;
variables.txt = txtR.text;
 
request.data = variables;
 
request.method = URLRequestMethod.POST;
 
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, onComplete);
loader.addEventListener( IOErrorEvent.IO_ERROR, LoadingError );
loader.load(request);
 
private function onComplete(e:Event) {
        var loader:URLLoader = URLLoader( e.target );
 
        if (loader != null) {
                answer.text = loader.data;
        }
        e.target.removeEventListener(Event.COMPLETE, onComplete);
        e.target.removeEventListener( IOErrorEvent.IO_ERROR, LoadingError );
}

код скрипта пхп для записи в базу данных MySQL:

PHP код:

<?php
include ("Подсоединяемся к базе данных MySQL");
if (isset(
$_POST['author']))
{
$author $_POST['author'];
}

if (isset(
$_POST['txt']))
{
$txt $_POST['txt'];
}

$result mysql_query ("INSERT INTO tableTest (author, text) VALUES ('$author', '$txt')");
if (
$result == 'true'){
echo 
"Ваше сообщение успешно добавлено! ".$author;
}

?>

все вроде бы работает, но вот проблема вместо кириллицы в базе оказываются иероглифы :(.
Что я уже пробовал? Пробовал в базе везде выставить кодировку utf8_unicode_ci, в ячейках таблицы, в параметрах самой таблицы и даже на главной странице пхпмайадмин там есть "Сопоставление соединения с MySQL" и ещё сам скрипт пхп сохранил в utf-8. еще пробовал перечисленные выше скрипты переписать под метод GET и в ручную в браузере вызвать пхп скрипт, в базу кириллица записалась удачно но когда через флэшку пытаюсь, не получается.. Помогите пожалуйста! Что я делаю не так? Где моя ошибка? Как добиться корректной записи через AS3+PHP. Заранее благодарен всем кто ответит.

PS: сразу признаюсь я не специалист MySQL и PHP и даже AS3 поэтому и обращаюсь за помощью так как своими силами я зашел в тупик.

КорДум 04.06.2011 17:54

PHP код:

<?
$dbHost 
"localhost";
$dbName "db";
$dbUser "root";
$dbPass "root";

$db mysql_connect($dbHost$dbUser$dbPass) or die(sendError("Coul not connect to db"));
mysql_select_db($dbName);

mysql_query("set names utf8"$db);
?>

Попробуйте так.

Добавлено через 2 минуты
Цитата:

в ручную в браузере вызвать пхп скрипт, в базу кириллица записалась удачно
А, не увидел.

Artyom from Kiev 04.06.2011 18:17

КорДум огромное вам спасибо! получилось :) на апач сервере все работает! действительно скрипт подключения к бд был ("SET CHARSET cp1251"); так как использовался другими пхп скриптами для админки без флэеша.. после того как поставил ("SET CHARSET utf8"); кириллица записалась. правда сомневаюсь что теперь админка будет коректно отбражать но это уже мелочи, либо буду два разных скрипта использовать либо приведу все к одной кодировки.
сейчас проверю на хостинге исправит ли ситуацию :) но думаю да.

Огромное спасибо!

на хостинге тоже заработало :)

КорДум 04.06.2011 18:18

Странно, что из браузера все работало как надо =)

Gam6it 10.08.2012 15:10

НЕ хочется создавать аналогичную тему по схожему вопросу, так что напишу здесь.

У меня аналогичная пробмема, но почему-то вместо русских символов отображается их коды unicode при получении данных от php скрипта


"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu type=\"main_menu\"><button uname=\"\u0421\u0435\u0440\u0432\u0438\u0441\u044b\" \/><button uname=\"\u00d0\u00a1\u00d0\u00be\u00d1\u201a\u00d0\u00be\u00d0\u00b2\u00d1\u2039\u00d0\u00b5 \u00d1\u201a\u00d0\u00b5\u00d0\u00bb\u00d0\u00b5\u00d1\u201e\u00d0\u00be\u00d0\u00bd\u00d1\u2039\" ><\/button><\/menu>\n"

PeTa4eK 11.08.2012 16:30

Флеш должен все читать без проблем :) Либо проганяйте через JSON, он 100% исправит(естесно и формат ответов придется менять)


Часовой пояс GMT +4, время: 21:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.