На php делается функцией Код (PHP): $var = base64_encode ('хелло ворлд'); Про игнорирование каких-либо символов в мануалах (php.ru|su|net) не сказано. На JS доступны 3 варианта, но (судя по вычитаному на javascript.ru) они просрут часть символов: escape() просрет @*/+ encodeURI() просрет ~!@#$&*()=:/,;?+' encodeURIComponent() просрет ~!*()' Огорчился, вытер сопли и малость потестил: Код (Text): <script> var input = "йцукенгшщзхъфывапролджэячсмить~!*()'-_. "; var output = encodeURIComponent(input); alert (output); </script> На выхлопе получил Код (Text): %D0%B0%D0%99%D0%B1%C2%86%D0%B1%C2%83%D0%B0%D0%9A%D0%B0%D0%95%D0%B0%D0%9D%D0%B0%D0%93%D0%B1%C2%88%D0%B1%C2%89%D0%B0%D0%97%D0%B1%C2%85%D0%B1%C2%8A%D0%B1%C2%84%D0%B1%C2%8B%D0%B0%D0%92%D0%B0%D0%90%D0%B0%D0%9F%D0%B1%C2%80%D0%B0%D0%9E%D0%B0%D0%9B%D0%B0%D0%94%D0%B0%D0%96%D0%B1%C2%8D%D0%B1%C2%8F%D0%B1%C2%87%D0%B1%C2%81%D0%B0%D0%9C%D0%B0%D0%98%D0%B1%C2%82%D0%B1%C2%8C~!*()'-_.%20 И вот, они, терзания сомнений... На сервере даже без обратного кодирования получил кирилицу, - тут я совсем офигел и решил спросить.
ничего никто не просрёт - раз. Это тебе не музыку жать. Второе. encodeURI() кодирует в стандарт для урлов. А base64_encode как ни удивительно в base64. Вопрос-то в чем состоит?