4

我想在 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>

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

9

排序规则应设置utf8_unicode_ci为 Danack57 所说的。

您应该只使用 UTF8 作为您的字符编码方案。

default-character-set = utf8

打开每个mysql连接后,执行set names utf8; Read this

于 2012-06-24T23:46:35.630 回答
1

问题是 html 页面向用户浏览器报告编码的方式。我怀疑一个报告为 utf8,另一个报告为其他编码。因此,当这些值从浏览器回传时,它们的编码方式不同。Php 不进行编码,它或多或少地采用表单发布的内容。加载页面并检查网络浏览器中的编码,看看您是否可以让两个页面使用元标记报告相同的编码。

于 2012-06-25T01:14:40.053 回答