# How can i replace multiple special characters in all fields?

**URL:** <https://discuss.elastic.co/t/how-can-i-replace-multiple-special-characters-in-all-fields/276922>\
**Category:** Logstash\
**Created:** [June 24, 2021, 12:21pm UTC](https://discuss.elastic.co/t/how-can-i-replace-multiple-special-characters-in-all-fields/276922 "2021-06-24T12:21:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![alprde](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alprde/32/90774_2.png) [@alprde](https://discuss.elastic.co/u/alprde)\
**Post date:** [June 24, 2021, 12:21pm UTC](https://discuss.elastic.co/t/how-can-i-replace-multiple-special-characters-in-all-fields/276922/1 "2021-06-24T12:21:07Z")

</div>

`&Ccedil;` =\> Ç

`&ccedil;` =\> ç

`&#350;` =\> Ş

`&#351;` =\> ş

`&#304;` =\> İ

`&#305;` =\> ı

`&Uuml;` =\> Ü

`&uuml;` =\> ü

`&Ouml;` =\> Ö

`&ouml;` =\> ö

`&#286;` =\> Ğ

`&#287;` =\> ğ

I want to replace these characters in all fields. how can I do it?

---

<div class="post-metadata">

**Author:** ![Badger](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/badger/32/25190_2.png) [@Badger](https://discuss.elastic.co/u/Badger)\
**Post date:** [June 24, 2021, 7:00pm UTC](https://discuss.elastic.co/t/how-can-i-replace-multiple-special-characters-in-all-fields/276922/2 "2021-06-24T19:00:14Z")

</div>

If it is a fixed set of fields you could do it in a mutate filter. If you really want to do it to all fields and you do not know what those fields will be you would have to use ruby

```
    ruby {
        code => '
            event.to_hash.each { |k, v|
                if v.is_a? String
                    event.set(k, v.gsub("&Ccedil;", "Ç").gsub("&ccedil;", "ç").gsub("&#350;", "Ş").gsub("&#351;", "ş").gsub("&#304;", "İ").gsub("&#305;", "ı").gsub("&Uuml;", "Ü").gsub("&uuml;", "ü").gsub("&Ouml;", "Ö").gsub("&ouml;", "ö").gsub("&#286;", "Ğ").gsub("&#287;", "ğ"))
                end
            }
        '
    }

```

If you want to handle more HTML entities you might be better off rewriting that loop to use something like [htmlentities](https://rubygems.org/gems/htmlentities). If you need to handle fields nested in objects you would have to write a recursive function. There is an example of walking through all fields in an event [here](https://discuss.elastic.co/t/logstash-json-filter-plugin-values-as-string/256912/2).

---

<div class="post-metadata">

**Author:** ![alprde](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alprde/32/90774_2.png) [@alprde](https://discuss.elastic.co/u/alprde)\
**Post date:** [June 25, 2021, 7:58am UTC](https://discuss.elastic.co/t/how-can-i-replace-multiple-special-characters-in-all-fields/276922/3 "2021-06-25T07:58:24Z")

</div>

Thank you for the answer. I tried it and it worked very well. I will add other codes to this ruby ​​code. I couldn't write because I don't know ruby. I will look into the links you sent. Thank you very much again.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 23, 2021, 7:59am UTC](https://discuss.elastic.co/t/how-can-i-replace-multiple-special-characters-in-all-fields/276922/4 "2021-07-23T07:59:00Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
