将韩语字符插入mysql

时间:2012-06-24 23:40:03

标签: php mysql sql

我想在MySQL中插入一些短语

第一个字段是英文,第二个字段是韩文。每次我从我的PHP脚本中插入值时,问题都显示在MYSQL中。 학교

但是,如果我从PhpMyAdmin插入相同的韩语值,它将起作用,所以来自php脚本的问题。我在网上发现我必须更改MySQL中的Collation

有任何帮助吗?

<?

//*---------------------------------------------------------*\\
//* 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>

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:8)

如Danack57所说,整理应该设置为utf8_unicode_ci

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

default-character-set = utf8

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

答案 1 :(得分:1)

问题在于html页面向用户浏览器报告编码的方式。我怀疑有人报告为utf8而另一个报告为其他编码。因此,当从浏览器回发值时,编码方式不同。 Php不进行编码,它或多或少地采用表单发布的方式。加载页面并检查Web browseraan中的编码,看看是否可以使用元标记报告相同的编码。