# Upcase special chars (Ã¥Ã¤Ã¶Ã¼...)?

**URL:** <https://www.ruby-forum.com/t/upcase-special-chars-a-a-a-a/58148>\
**Category:** Rails\
**Created:** [April 18, 2006, 11:32pm UTC](https://www.ruby-forum.com/t/upcase-special-chars-a-a-a-a/58148 "2006-04-18T23:32:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/3ec8ea/32.png) [@daniel](https://www.ruby-forum.com/u/daniel)\
**Post date:** [April 18, 2006, 11:32pm UTC](https://www.ruby-forum.com/t/upcase-special-chars-a-a-a-a/58148/1 "2006-04-18T23:32:02Z")

</div>

Hey guys

How do you upcase the special characters (Ã¥Ã¤Ã¶Ã¼)?  
I use latin-1 and not utf-8.

How did you solve this problem? (nice ruby way or ugly hack doesnt  
matter)

Daniel

---

<div class="post-metadata">

**Author:** ![daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/3ec8ea/32.png) [@daniel](https://www.ruby-forum.com/u/daniel)\
**Post date:** [April 19, 2006, 1:33pm UTC](https://www.ruby-forum.com/t/upcase-special-chars-a-a-a-a/58148/2 "2006-04-19T13:33:45Z")

</div>

Ok, this is what I have come up with so far… pretty ugly, but it  
works.

def myupcase(stringtoupper)  
stringtoupper.upcase.gsub(‘Ã¥’,‘Ã?’).gsub(‘Ã¤’,‘Ã?’).gsub(‘Ã¶’,‘Ã?’).gsub(‘Ã¼’,‘Ã?’).gsub(‘Ã±’,‘Ã?’).gsub(‘Ã¯’,‘Ã’)  
end

//Daniel

---

<div class="post-metadata">

**Author:** ![daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/3ec8ea/32.png) [@daniel](https://www.ruby-forum.com/u/daniel)\
**Post date:** [April 19, 2006, 1:43pm UTC](https://www.ruby-forum.com/t/upcase-special-chars-a-a-a-a/58148/3 "2006-04-19T13:43:41Z")

</div>

> Ok, this is what I have come up with so far… pretty ugly, but it  
> works.
> 
> def myupcase(stringtoupper)  
> stringtoupper.upcase.gsub(‘å’,‘Å’).gsub(‘ä’,‘Ä’).gsub(‘ö’,‘Ö’).gsub(‘ü’,‘Ü’).gsub(‘ñ’,‘Ñ’).gsub(‘ï’,‘Ï’)  
> end

How about:

stringtoupper.upcase.tr(‘åäöüñï’,‘ÅÄÖÜÑÏ’)

## Regards, Rimantas

[http://rimantas.com/](http://rimantas.com/)

---

<div class="post-metadata">

**Author:** ![daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/3ec8ea/32.png) [@daniel](https://www.ruby-forum.com/u/daniel)\
**Post date:** [April 19, 2006, 1:43pm UTC](https://www.ruby-forum.com/t/upcase-special-chars-a-a-a-a/58148/4 "2006-04-19T13:43:47Z")

</div>

Hello,

> Ok, this is what I have come up with so far… pretty ugly, but it  
> works.
> 
> def myupcase(stringtoupper)  
> stringtoupper.upcase.gsub(‘Ã¥’,‘Ã?’).gsub(‘Ã¤’,‘Ã?’).gsub(‘Ã¶’,‘Ã?’).gsub(‘Ã¼’,‘Ã?’).gsub(‘Ã±’,‘Ã?’).gsub(‘Ã¯’,‘Ã’)  
> end

In this case, you can use String#tr :

stringtoupper.upcase.tr(‘Ã¥Ã¤Ã¶Ã¼Ã±Ã¯’, ‘Ã?Ã?Ã?Ã?Ã?Ã’)

```
 -- Jean-FranÃ§ois.
```

---

<div class="post-metadata">

**Author:** ![daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/3ec8ea/32.png) [@daniel](https://www.ruby-forum.com/u/daniel)\
**Post date:** [April 19, 2006, 2:05pm UTC](https://www.ruby-forum.com/t/upcase-special-chars-a-a-a-a/58148/5 "2006-04-19T14:05:43Z")

</div>

Daniel wrote the following on 19.04.2006 13:33 :

> 

If you don’t need the old upcase behaviour, you can put the following  
where needed (probably in lib/string\_overload.rb and 'require’d in  
application.rb and/or application\_helper.rb):

class String  
alias\_method :old\_upcase, :upcase  
def upcase  
self.old\_upcase.tr(‘Ã¥Ã¤Ã¶Ã¼Ã±Ã¯’, ‘Ã?Ã?Ã?Ã?Ã?Ã’)  
end  
end
