q=%3F%3F%3F%3F%3F%3F%3F%3F%3F132%3F
декодирует до:
?????????132?
поэтому что-то повредило строку еще до кодирования URL. Это может произойти, если вы попытаетесь преобразовать китайские символы в кодировку, которая не поддерживает китайские символы, например Latin-1.
Вы должны убедиться, что вы используете UTF-8 последовательно через ваше приложение. В частности, вам необходимо убедиться, что таблицы в базе данных хранятся с использованием набора символов UTF-8; в терминах MySQL, сопоставление UTF-8. В противном случае по умолчанию для MySQL используется Latin-1. Вы также захотите убедиться, что ваше соединение с базой данных использует UTF-8, вызвав 1mysql_set_charset ('utf-8') `.
(я полагаю из вашего вопроса, что вы используете PHP.)