2013-07-21 66 views
1

我用旁邊設置連接到遠程數據庫:Rails4字符集問題,當連接到遠程MySQL數據庫

class MyModel < ActiveRecord::Base 
self.table_name = 'users' 
establish_connection(
adapter: "mysql2", 
host: "host_ip", 
encoding: "koi8u", 
username: "custom_name", 
password: "password", 
database: "db_name") 
end 

它連接很好,但是當我進行查詢,我收到類似的地址:「п⌠п╟ п╪п╟пп╦пп░п╩я▄я├п╣я│я┌」

我也嘗試像連接的另一種變體:??

connection = Mysql2::Client.new(host: 'host_name',                
username: 'user',                  
password: 'password',                  
port: 3306,                 
database: 'db_name',                
encoding: 'koi8u',                  
reconnect: true                  
) 

在這種情況下,我收到連接對象,但無法進行查詢...當我使用 connection.query(「SELECT * FROM用戶」),它返回我的連接對象...... 還當我校驗編碼返回:

MyModel.first.Address.encoding.name 
MyModel Load (6.8ms) SELECT `users`.* FROM `users` ORDER BY `users`.`login` ASC LIMIT 
1 
=> "UTF-8" 

當設置我用koi8u!

我在這個數據庫中檢查MySQL服務器上的字符集 - 它設置爲koi8u!

任何想法?我需要連接到這個數據庫與正常字符集

回答

0

在我看來,你的數據庫區域設置是不同的,那麼你期望它是 你改變它或設置它在任何階段?

這是不夠的聲明關於它的連接字符串中

你可以找到在這裏如何檢查什麼是您的數據庫字符集

How do I see what character set a MySQL database/table/column is?

+0

我在MySQL服務器上檢查字符集這個數據庫 - 它被設置爲koi8u! – RomanDev