# Special Characters from a POST

**URL:** <https://forum.kirupa.com/t/special-characters-from-a-post/264013>\
**Category:** programming\
**Created:** [June 22, 2008, 3:19am UTC](https://forum.kirupa.com/t/special-characters-from-a-post/264013 "2008-06-22T03:19:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bear](https://avatars.discourse-cdn.com/v4/letter/b/ac8455/32.png) [@bear](https://forum.kirupa.com/u/bear)\
**Post date:** [June 22, 2008, 3:19am UTC](https://forum.kirupa.com/t/special-characters-from-a-post/264013/1 "2008-06-22T03:19:24Z")

</div>

Is there a way to get accented characters like é from a POST value? I tried specialcharacters(), urlencode, and nothing worked.

---

<div class="post-metadata">

**Author:** ![actionAction](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/actionaction/32/3987_2.png) [@actionAction](https://forum.kirupa.com/u/actionAction)\
**Post date:** [June 22, 2008, 3:33am UTC](https://forum.kirupa.com/t/special-characters-from-a-post/264013/2 "2008-06-22T03:33:17Z")

</div>

Try using this function (found on [PHP.net](http://PHP.net)):

```php

function fix_string($str) {
        return strtr($str,
            chr(130).chr(136).chr(138).chr(137).
            chr(133).chr(131).chr(132).chr(140).
            chr(139).chr(151).chr(150).chr(129).
            chr(147).chr(148).chr(135),
            chr(233).chr(234).chr(232).chr(235).
            chr(224).chr(226).chr(228).chr(238).
            chr(239).chr(249).chr(251).chr(252).
            chr(244).chr(246).chr(231)
        );
    }

```

No matter which way you go, you will probably end up using the string translate function: [http://us2.php.net/strtr](http://us2.php.net/strtr)

---

<div class="post-metadata">

**Author:** ![bear](https://avatars.discourse-cdn.com/v4/letter/b/ac8455/32.png) [@bear](https://forum.kirupa.com/u/bear)\
**Post date:** [June 23, 2008, 1:50pm UTC](https://forum.kirupa.com/t/special-characters-from-a-post/264013/3 "2008-06-23T13:50:28Z")

</div>

Thanks, but how do I decode characters created by escape() in JS(i.e. %u0108olada) from the database?

---

<div class="post-metadata">

**Author:** ![actionAction](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/actionaction/32/3987_2.png) [@actionAction](https://forum.kirupa.com/u/actionAction)\
**Post date:** [June 23, 2008, 4:53pm UTC](https://forum.kirupa.com/t/special-characters-from-a-post/264013/4 "2008-06-23T16:53:44Z")

</div>

PHP function: rawurldecode($string);

---

<div class="post-metadata">

**Author:** ![bear](https://avatars.discourse-cdn.com/v4/letter/b/ac8455/32.png) [@bear](https://forum.kirupa.com/u/bear)\
**Post date:** [June 23, 2008, 6:54pm UTC](https://forum.kirupa.com/t/special-characters-from-a-post/264013/5 "2008-06-23T18:54:21Z")

</div>

It’s cool. Stupid encoding headers.

---

<div class="post-metadata">

**Author:** ![ricferr](https://avatars.discourse-cdn.com/v4/letter/r/91b2a8/32.png) [@ricferr](https://forum.kirupa.com/u/ricferr)\
**Post date:** [June 24, 2008, 11:08am UTC](https://forum.kirupa.com/t/special-characters-from-a-post/264013/6 "2008-06-24T11:08:14Z")

</div>

I just used this line of code to fix that problem in a portuguese content form:  
$content.= "Content-Type: text/html; charset=“iso-8859-1"  
”;

hope it helps

RF
