Почему вы хотите динамически создавать таблицы?Вы должны разработать подходящую схему базы данных, подходящую для данных, которые вам нужно хранить.
На основании вашего вопроса у меня сложилось впечатление, что вы делаете это неправильно.
Создание таблиц легко выполнитьоднако с помощью стандартной команды CREATE TABLE, например:
$dbh->do('CREATE TABLE testtable (foo VARCHAR(100), bar INT(4), baz DATETIME);');
Вы можете сгенерировать этот SQL достаточно легко, и нет никаких причин, по которым вы должны получить какие-либо "забавные символы".
Я все еще не убежден, что это правильное решение для всего, что вы пытаетесь сделать, хотя, возможно, вы могли бы расширить вопрос с дополнительной информацией о том, почему вы пытаетесь сделать это, как я получаюощущение, что оно не продумано полностью и в конечном итоге приведет к структуре базы данных, которая является неразрешимым беспорядком.
Если вы пытаетесь хранить динамические данные, которые не вписываются в традиционную схему реляционной базы данных, вы можететакже рассмотрите базы данных, ориентированные на документы, такие как MongoDB (в которой хранятся «документы» данных на основе JSON, что дает вам многогибкости;на CPAN имеется модуль MongoDB для простого взаимодействия с ним).