Я хочу вставить некоторые фразы в MySQL
первое поле – английское, второе – корейское. проблема каждый раз, когда я вставляю значение из своего PHP-скрипта, это показывает в MYSQL, как это. 학교
Однако, если я вставляю то же самое корейское значение из PhpMyAdmin, он будет работать, поэтому проблема с PHP-скриптом. Я нашел в Интернете, что мне нужно изменить Collation
в MySQL?
Любая помощь ?
<? //*---------------------------------------------------------*\\ //* if POST //*---------------------------------------------------------*\\ if($_POST['addphrase']) { $SQL = "INSERT INTO `sd_phrases` VALUES(NULL,?,?)"; $db = new db(); $db->execute($SQL,$_POST['english'],$_POST['korean']); $box = new true_box(); $box->init('PLease Wait....','index.php?action=phrases'); die(); } ?> <form method="post"> <center> <table class="horz"> <tr><th colspan="2">Add a new Phrase</th></tr> <tr><td>English Phrase</td><td><div align="left"><input type="text" size="80" name="english"></div> </td></tr> <tr><td>Korean Phrase</td><td><div align="left"><input type="text" size="80" name="korean"></div> </td></tr> <tr><td colspan="2"><input type="submit" value="Add" name="addphrase"></td></tr> </table> </center> </form>
Для сопоставления должно быть установлено значение utf8_unicode_ci
как говорит Danack57.
Вы должны использовать только UTF8 в качестве схемы кодирования символов.
default-character-set = utf8
После открытия каждого соединения mysql, выполните set names utf8;
Прочтите это
Проблема заключается в том, как html-страница сообщает о кодировке в браузере пользователей. Я подозреваю, что один из них сообщается как utf8, а другой – как некоторая другая кодировка. Поэтому, когда значения были отправлены обратно из браузера, они кодируются по-разному. Php не делает кодировку, она более или менее берет то, что сообщение формы ему. Загрузите страницы и проверьте кодировку в веб-браузере, посмотрите, можете ли вы заставить две страницы сообщать о той же кодировке, используя метатеги.