Mysql

  • Автор темы Student_TRTU
  • Дата начала
S

Student_TRTU

#1
Значит вот такая вот проблема. Имеем PHP+MySQL.
Ввожу данные на русском языке (типа фамилия , имя и прочая лабуда) в форму, передаю данные другому файлу (содержит в себе большую часть скриптов) который вносит в базу то что я просил на форме, но только вносит как то коряво, если прочитать базу то там будут только одни вопросики (кол-во вопросиков совпадает с кол-вом символов в слове).

Проделываю те же самые операции в редакторе скриптов (имеется встроенный браузер) и вуаля! все на русском.

Вот. Подойдем к самому главному. Че за херня???
 
G

garrymax

#2
Это не "херня", это кодировка данных в таблицах MySQL, по умолчанию latin-1, а нужно и желательно UTF-8. Можно и другие (KOI8-R, cp1251), но UTF8-R универсальная.

Самый простой способ, что бы не вникать в возможности запроса ALERT: Зайди на сайт MySQL и скачай администратора - там во второй закладки своей базы установи нужную кодировку по умолчантию. Если это на хостинге, то воспользуйся PhpMyAdnin - должны были предоставить, если база есть.
 
W

WStudio

#3
Так в том то и дело что везде, абсолютно везде!!! стоит использование кирилицы (кои8р, пробовал утф, одна херня), я просто в ужасе! Я уже не знаю что делать, раньше просто такого бреда не было.
 
W

WStudio

#4
2sax_ol
Не, я просто нечаяно с чужого акаунта отписался.
 
G

garrymax

#5
А случаем не из AJAX чего подцепил? Если оно присутствует, то без iconv не чего не получиться.
 
W

WStudio

#6
Небыло аякса и не будет, я этой дрянью и не пользовался то никогда.
 
W

WStudio

#7
Ну народ!?!? Я думал мне хотя бы тут расскажут в чем проблема.
 
W

WStudio

#8
Так нет, кодировку никто не менял, она как стояла кирилицей так и стоит. База вообще все еще в режиме проектирования, так что с ней пока можно делать все что душе угодно. Я про то, что из одного браузера русский язык база понимает (встроенный бразузер в phpexpert), а из другого ваще не бачет. К стати в phpmyadmin все норм работает из под любого браузера. В общем хелпми, я в ужасе.
 
H

Holger Dee Assuran

#9
Нужно установить переменные базы данных... Не помню как конкретно называются - character_set_client и еще несколько character_set-ов... Вся проблема в том что данные хранятся в базе в одной кодировке (скорее всего в utf8), а сценарии в другой. Нужно что-бы база перекодировала данные из utf8 в cp1251 (или что ты там юзаешь в сценариях)
 
W

WStudio

#10
Да я уже все... Спасибо за помощь. Все вылечилось запросом к базе данных в виде установки текущей кодировки.

mysql_db_query($db_name,"SET NAMES cp1251");