Китайские иероглифы PHP не могут быть вставлены в Mysql - PullRequest
1 голос
/ 22 февраля 2012

Я использую GET для передачи параметров, успешное сохранение данных в mysql, если данные на английском, но ничего не вставляется, если данные на китайском.

Я обнаружил, что кодировка данных - utf-8, обнаружил, что с моим macbook он работает нормально, но не работает, т.е. Странно, есть идеи, что с ним не так?

Например

query("insert into Info  values ('".$email."','".$_GET['name']."')");

Это не удачно, если $name - китайский. Я попытался echo $_GET['name'] и отображается нормально, однако данные, которые не могут быть вставлены в базу данных, пустые.

query("insert into Info  values ('".$email."','香港')");

Этот метод успешно вставляет данные в базу данных

1 Ответ

2 голосов
/ 22 февраля 2012

Во-первых, вы действительно должны использовать POST для этих операций.

Убедитесь, что столбец, в который вы вставляете, имеет правильную кодировку - возможно, экспортируйте структуру таблицы, чтобы мы могли убедиться, что вы не уверены.

Как сказал Даан, вы можете попробовать

query('SET NAMES UTF8'); 

Перед вашим запросом на вставку.

...