Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2010, 21:08
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

UTF-8 b mySQL
Суть такая.
В Сервере, БД и таблицах ставлю кодировку UTF-8
Станица и файлы в uTF-8
При записи в БД кирилицы в uTF8 на выходе через phpMyAdmin в ячейках находятся крякозяблы. Но при считывании данных с БД и выдачи всайте все ок.

Помогает фича при коннекте к базе SET NAMES utf8 и крякозяблы пропадают. И отображается все по прежнему ок. Если данные опять же были занесены при этой команде. Старые при этойкоманде на выходе становятся крякозяблами как без нее в phpMyAdmin

Вопрос. Как избавится от этой команды? Что надо сделать с таблицами/базой/сервером, что бы в них хранилось корректный код UTF-8 символов, а не крякозяблы и не использовать эту команду?
Проблема. При экспортировании, если не устанавливать эту команду при занесении в базу, то выводятся крякозяблы...
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт

Последний раз редактировалось PeaceCoder, 22.03.2010 в 21:11.
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2010, 22:09
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Решение найдено, но оно не применимо со стороны клиента =(
http://dev.mysql.com/doc/refman/5.1/...onnection.html
Цитата:
With the mysql client, if you want to use a character set different from the default, you could explicitly execute SET NAMES every time you start up. However, to accomplish the same result more easily, you can add the --default-character-set option setting to your mysql command line or in your option file. For example, the following option file setting changes the three connection-related character set variables set to koi8r each time you invoke mysql:
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2010, 22:13
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Смотреть настройки сервера мускуля.
Можно в init connect прописать SET NAMES utf8.

Без доступа к настройкам мускуля никак.
Ответить с цитированием
  #4 (permalink)  
Старый 23.03.2010, 00:38
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Теперь вопрос в другом. В других базах такая же фигня? например в постадж или мсскл или оракл?
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #5 (permalink)  
Старый 27.03.2010, 08:13
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Чтобы все корректно работало с кодировками в MySQL надо обязательно выставлять кодировку самого соединения:
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8" );
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'" );
т.е. надо учитывать:
- кодировку базы и таблиц
- кодировку соединения
- кодировку самих отправляемых/выводимых данных, т.е. в какой кодировке файл php.
Ответить с цитированием
  #6 (permalink)  
Старый 27.03.2010, 18:20
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Это ясно уже. Вопрос в другом. В других типах баз такая же проблема? или это такая "фича" мускуля?
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #7 (permalink)  
Старый 27.03.2010, 19:16
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Особо с другими базами в вебе не работал, но посмотрел сейчас как в друпале сделан тонкий клиент к postgreSQL:
function db_connect($url) {
    ... 
    $connection = @pg_connect($conn_string);
    ...
    pg_query($connection, "set client_encoding=\"UTF8\"");
}

т.е. походу тоже что-то подобное указывается.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript + UTF = sad story? rkwdv Общие вопросы Javascript 14 19.11.2009 22:36
вывод таблички из mysql в ajax alexandre AJAX и COMET 40 18.08.2009 11:46
JavaScript + Mysql (PHP) MorteiN Общие вопросы Javascript 6 08.03.2009 19:28
PHP, JavaScript, MySQL solomusic Серверные языки и технологии 14 18.12.2008 14:05
Из WIN в UTF AlexBel Общие вопросы Javascript 3 23.08.2008 21:56