rubymysql2,ruby mysql

本文目錄一覽:

我怎樣才能在全局忽略UTF-8字元串無效的位元組序列

如果你只是想在原始位元組進行操作,你可以試試它的編碼為ASCII-8BIT /二進位。

str.force_encoding(“BINARY”).split(“n”)

這不會讓你的U回來,不過,因為在這種情況下,源字元串為ISO-8859(或喜歡):

“- Men\xFC -“.force_encoding(“ISO-8859-1”).encode(“UTF-8”)

= “- Menü -“

如果你想獲得multibyte字元,你必須知道的源字符集是什麼。

一旦你force_encoding如果數據是從您的資料庫,你可以改變你的ASCII-8BIT或二進位編碼;ruby應該舉報他們據此即可。或者,您可以monkeypatch資料庫驅動程序來強制編碼的讀取它的所有字元串。這是一個巨大的,雖然,可能是完全錯誤的做法。

正確的答案將是解決你的字元串編碼。這可能需要它們的資料庫修復,資料庫驅動程序連接的編碼修復,或combinations。所有的位元組仍然存在,但如果你正在處理一個給定的字符集,你應該,如果可能的話,讓ruby知道,你希望你的數據在該編碼。錯誤是mysql2驅動程序連接到已在拉丁文編碼數據的MySQL資料庫,但要指定UTF-8字符集進行連接。該導軌從DB取拉丁文的數據並把它解釋為UTF-8,而不是將其解釋為拉丁文,然後可以轉換為UTF-8。

如果你能在這裡闡述的字元串中,答案是可能的。您也可以看看這個答案的可能的全局(-ish)Rails的解決方案,默認字元串編碼。

bundler 管理 Ruby Gem 小技巧

在 Ruby 項目中,特別是 Rails 項目,使用 bundler 管理 Gem 時,有一些 Gem 需要用到系統庫。例如 Rails 項目中默認需要的 Nokogiri 在 bundle install 時好多人遇到這樣的錯誤:

還可以看 Github 上相關的 [issue](Nokogiri 1.6.8 Install Fails on Mac OS X with xz installed from Homebrew)

還有一個例子就是 mysql2 也需要用到系統腳本,請看其 Readme

還有 bundle install 時比較常見的錯誤就是 libv8 的安裝,Readme 給出的安裝方法是:

事實上,好多 Gem 在 build gem native extension 都會用到系統庫。

當把這些需要依賴系統其他庫的 Gem 使用 Rubygem 時可直接在後面加上 — –with xxxx 但是我們使用 bundler 管理 Gem 時,就需要在 bundle install 之前之行相應的 bundle config build.xxx ,那麼,是否有一種方式我們直接把這些需要在 bundle install 之前的命令寫在一個配置文件裡面,然後我們直接 bundle install 呢?

答案是有的。

事實上,如果你執行了 bundle config build.xxx 命令之後, ~/.bundle/config (~ 表示當前用戶目錄)會填充一些內容,比如我們執行 :

該文件就會追加一行內容: BUNDLE_BUILD__LIBV8: “–with-system-v8”

其實我們也可以為 Bundler 管理的 Ruby 項目添加這樣的特性,譬如:

在 Rails 項目根目錄下新建 .bundle 文件夾,並且新建 config 文件,以後這個項目 bundle 的一些設置就可以寫在 config 文件中了。來看看一個模版:

BUNDLE_PATH: vendor/bundle 表示 bundle install 的 gem 全部在 vendor/bundle/ 目錄下,而不是在 $GEM_HOME 或者 $BUNDLE_PATH 目錄下;然後其他的就是一些依賴系統庫的配置。

更多關於 bundler 配置的文檔,請看 bundle config

另外再推薦一篇文章: Configuring bundler using bundle config

ruby連接mysql報錯: Can’t connect to MySQL server on ‘localhost’ (10061)

mysql的服務沒有開,登錄到mysql伺服器,ps -ef|grep mysqld看看,如果是windows下,執行 sc query mysql 看看服務狀態是什麼

ruby1.9.3,rails new blog -d=mysql命令創建blog,輸入rails server,報錯:incorrect mysql client

先確定你的mysql安裝成功,再在你的GemFile 文件裡面,加入 gem “mysql2”, 然後bundle install,

安裝ruby環境,用mysql資料庫,總是報錯,調了一下午,網上方法都用了也不管事

make的時候需要調用ruby很多編譯前的參數.一些信息make不知道的話會不知道如何建庫.

我個人的建議是根據你安裝的ruby路徑和版本信息把配置選項補充全.下面是我電腦上面的配置,你可以借鑒一下.據我分析應該能解決你的問題.

Provided configuration options:

–with-opt-dir

–with-opt-include

–without-opt-include=${opt-dir}/include

–with-opt-lib

–without-opt-lib=${opt-dir}/usr/lib

–with-make-prog

–without-make-prog

–srcdir=.

–curdir

–ruby=/usr/local/ruby-2.1.2/rubies/ruby-2.1.2/bin/ruby

原創文章,作者:BTZW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/134157.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BTZW的頭像BTZW
上一篇 2024-10-04 00:04
下一篇 2024-10-04 00:04

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27
  • 如何使用MySQL欄位去重

    本文將從多個方面為您詳細介紹如何使用MySQL欄位去重並給出相應的代碼示例。 一、SELECT DISTINCT語句去重 MySQL提供了SELECT DISTINCT語句,通過在…

    編程 2025-04-27
  • MySQL正則表達式替換

    MySQL正則表達式替換是指通過正則表達式對MySQL中的字元串進行替換。在文本處理方面,正則表達式是一種強大的工具,可以方便快捷地進行字元串處理和匹配。在MySQL中,可以使用正…

    編程 2025-04-27
  • Apache2.4和MySQL的全能編程開發工程師指南

    本文將從多個方面對Apache2.4和MySQL進行詳細的闡述,為全能編程開發工程師提供有用的參考和指導。首先,我們來解答這個標題所涵蓋的主題: 本文將提供Apache2.4和My…

    編程 2025-04-27
  • 如何在Mac上安裝Ruby

    一、Mac安裝更新 在安裝過程之前,確保你的Mac系統已更新到最新版本。這可以通過在菜單欄中選擇「」 → 「關於本機」 → 「軟體更新」來完成。 一旦軟體更新完畢,你就可以開始安…

    編程 2025-04-25

發表回復

登錄後才能評論