From: Jean-Philippe Lang Date: Mon, 10 Jan 2011 18:32:04 +0000 (+0000) Subject: Fixed: wiki pages with cyrillic characters not found with postgresql (#7245). X-Git-Tag: 1.2.0~1102 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f1a5dca2ba84c814da024ebd5b5564a6fbecdccb;p=redmine.git Fixed: wiki pages with cyrillic characters not found with postgresql (#7245). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4680 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/wiki.rb b/app/models/wiki.rb index b28694ec4..c83bd1922 100644 --- a/app/models/wiki.rb +++ b/app/models/wiki.rb @@ -45,11 +45,11 @@ class Wiki < ActiveRecord::Base # find the page with the given title def find_page(title, options = {}) title = start_page if title.blank? - title = Wiki.titleize(title).downcase - page = pages.first(:conditions => ["LOWER(title) LIKE ?", title]) + title = Wiki.titleize(title) + page = pages.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title]) if !page && !(options[:with_redirect] == false) # search for a redirect - redirect = redirects.first(:conditions => ["LOWER(title) LIKE ?", title]) + redirect = redirects.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title]) page = find_page(redirect.redirects_to, :with_redirect => false) if redirect end page diff --git a/test/fixtures/wiki_pages.yml b/test/fixtures/wiki_pages.yml index f1fb19917..2d2e2eceb 100644 --- a/test/fixtures/wiki_pages.yml +++ b/test/fixtures/wiki_pages.yml @@ -62,4 +62,10 @@ wiki_pages_009: wiki_id: 2 protected: false parent_id: 8 - \ No newline at end of file +wiki_pages_010: + created_on: 2007-03-08 00:18:07 +01:00 + title: Этика_менеджмента + id: 10 + wiki_id: 1 + protected: false + parent_id: diff --git a/test/unit/wiki_test.rb b/test/unit/wiki_test.rb index bc5ad8a08..8fa937c53 100644 --- a/test/unit/wiki_test.rb +++ b/test/unit/wiki_test.rb @@ -46,6 +46,9 @@ class WikiTest < ActiveSupport::TestCase assert_equal page, wiki.find_page('Another_page') assert_equal page, wiki.find_page('Another page') assert_equal page, wiki.find_page('ANOTHER page') + + page = WikiPage.find(10) + assert_equal page, wiki.find_page('Этика_менеджмента') end def test_titleize