Доброго времени суток. Задали мне написать программу я легких путей не стал искать и писать программу на (Delphi или C) а от незнания решил написать программу на AS3 заодно по ходу изучать. Замутил с нуля на win8 "Flash(as3-cs5.5)" на другой машине winxp "Apach(2.2.25) + PHP(5.3.1) + PostgreSQL(9.1)" Конечно читать я умею да и гуглить тоже, но тут уперся рогами об кодировку. Много чего пробовал но увы =( Запрос полностью на английском работает, присваиваем значение переменной $sotr_start на Русскоязычное и все сушим весла. Помогите люди добрые, как это исправить? Может есть альтернативные методы или способы? Код (Text): <?php header('Content-Type: text/html; charset=utf-8'); //--------------------------------------------------------- // функци вывода ошибок если они есть error_reporting(E_ALL | E_STRICT) ; ini_set('display_errors', 'On'); //--------------------------------------------------------- if($connect = pg_pconnect("host=localhost port=5432 dbname=postgres user=postgres password=sql")) //Подключение к PostgreSQL { echo "Connected \n"; echo pg_client_encoding($connect); $sotr_start = 'Cтас'; if($result = pg_query($connect, "INSERT INTO asd (sotr_start) VALUES ('$sotr_start')")) { echo "complete \n"; } else echo "Do not complet \n"; } else die("Do not connect =): ". pg_error()); echo("End"); pg_close($connect); ?> Флешка возвращает. Connected UTF8 Warning: pg_query(): Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xf2e0f127 in F:\htdocs\PostgreSQL\insert.php on line 19 Do not complit End
Ура \(^_^)/ решение часто приходит при объяснении =) Надеюсь кому-то поможет. $sql = iconv('cp1251', 'utf-8', $sql_str); Код (Text): $sotr_start = 'стас'; $sql_str = "INSERT INTO asd (sotr_start) VALUES ('$sotr_start')"; $sql = iconv('cp1251', 'utf-8', $sql_str); echo "$sql_str + \n"; echo "$sql + \n"; Connected INSERT INTO asd (sotr_start) VALUES ('ñòàñ') + INSERT INTO asd (sotr_start) VALUES ('стас') + complete End