| 2008-06-10 01:44:48 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 986 Регистр: 2007-03-13 его блог 28 сообщ. |
Базы и utf8 |
|
So, here’s our app/controllers/application.rb as it stands:
class ApplicationController < ActionController::Base before_filter :set_charset before_filter :configure_charsets def set_charset @headers["Content-Type"] = "text/html; charset=utf-8" end def configure_charsets @response.headers["Content-Type"] = "text/html; charset=utf-8" # Set connection charset. MySQL 4.0 doesn't support this so it # will throw an error, MySQL 4.1 needs this suppress(ActiveRecord::StatementInvalid) do ActiveRecord::Base.connection.execute 'SET NAMES UTF8' end end end |
|
| 2008-06-04 05:45:57 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 986 Регистр: 2007-03-13 его блог 28 сообщ. |
Продолжая тему |
|
Вместо
suppress(ActiveRecord::StatementInvalid) do ActiveRecord::Base.connection.execute 'SET NAMES UTF8' end Можно просто прописать в daatbase.yml development: adapter: mysql database: forum_development username: root password: ,fhfrelf host: localhost encoding: utf8 Что заменит SET NAMES UTF8 |
|
| 2008-06-09 10:47:25 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: Базы и utf8 |
|
Я так понимаю, что utf-8 позволяет работать с национальными алфавитами, но у меня ничего не работает.
Вот что получается в utf-8: Вместо знаков ???? было слово "вася". И естественно, что по команде select * from cats where name like 'вася'; ничего не выведется. Может что-то не так я делаю? |
|
| 2008-06-10 04:57:37 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 986 Регистр: 2007-03-13 его блог 28 сообщ. |
RE: RE: Базы и utf8 |
|
Начнем сначала
в /config/environment.rb Добавляешь заветную строчку $KCODE = "utf8" Далее При чем не забываешь что у тебя самы страницы должны просматриваться тоже в тоесть должен присутствовать мета тег в хедерах meta http-equiv="Content-Type" content="text/html; charset=utf-8" что бы страница открывалась в правильной кодировке при чем ты не должен забывать что и в базе таблица должна быть создана Возможно я что то упустил но хотябы проверь это елси не сработает тогда будем дальше смотреть |
|
| database code page, mysql utf8 |
| 2008-06-09 10:47:24 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: Базы и utf8 |
|
Начну с вопросов, так как с подобным ещё не сталкивался, работаю недавно. 1. :use_sitealizer - насколько мне известно, это для того, чтобы предотвратить ввод в полях всяких управляющих команд майскьюэль? 2. Добавляешь заветную строчку $KCODE = "utf8" - куда добавлять? 3. Зачем обьявлять этот метод? Где он будет использоваться? 4. ... CHARACTER SET utf8 COLLATE utf8_general_ci; - как установить кодировку в миграциях? поскольку работать я всё равно буду с миграциями? |
|