@crast

Транслитерация названий тегов и slug?

При добавлении тегов к посту в открывающемся поле можно выбрать уже существующий или внести новый. Набираешь несколько символов и скриптик показывает подходящие уже существующие в БД теги. Проблема в том, что корректно это работает только с латиницей, при добавлении кириллических символов они отображаются в виде: %D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82 - вместо "привет", например... В таком же виде вносятся в БД.

Подозреваю проблема в коде:
$(document).ready(function()
{
    markdown();

    $('form').areYouSure({ 'message': '{$lang.general.unsaved_warning}' });

    var $tags = $('select[name="tags[]"]');

    if($tags.hasClass('selectator'))
        $tags.selectator('destroy');

    $tags.selectator({
        height: '39px',
        useSearch: true,
        useOnMobile: true,
        showAllOptionsOnFocus: true,
        load: function (search, callback) {
            if (search.length < this.minSearchLength) return callback();
            $.ajax({
                url: '{?= url([ADMIN, "blog", "jsontags", "' + encodeURIComponent(search) + '"]) ?}',
                type: 'GET',
                dataType: 'json',
                success: function(data) {
                    callback(data.slice(0, 10));
                },
                error: function() {
                    callback();
                }
            });
        },
        placeholder: '{$lang.blog.add_a_tag}...',
        delay: 200,
        minSearchLength: 2,
        valueField: 'name',
        textField: 'name',
        render: {
            option: function (_item, escape) {
                var html = '';
                html += '<div class="selectator_option_title">';
                html += ((typeof _item.name !== 'undefined') ? _item.name.replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g, '') : '');
                html += '</div>';
                return html;
            }
        }
    });

encodeURIComponent и всё такое... Но найти в нем ошибку и переписать не могу. Помогите, если приведенной информации достаточно.
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
на стороне сервера раскодируйте содержимое с помощью rawurldecode
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы