日语/韩语进入MySQL表

时间:2015-07-30 11:42:45

标签: javascript php mysql converter

我想在我的数据库中存储一些信息。其中一个字段是日文名称。我收到一个错误:

Warning: #1366 Incorrect string value: '\xE3\x83\xA9\xE3\x83\x87...' for column 'japan-name' at row 1

所以我不能说我的数据库的字符集。我可以使用PHP或Javascript将日语/韩语转换为其他内容,当我阅读它时,它们会重新转换为日语/韩语吗?

2 个答案:

答案 0 :(得分:0)

PHP提供base64_encode()base64_decode()功能。它们很快,并且存储罚款约为33%。您可以使用第一个将utf-8东亚文本转换为ASCII格式的乱码,然后再将其存储在表格中。第二个将在您检索后将其转换回来。

以下是一个例子:

$jp = " 私はガラスを食べられます。それは私を傷つけません。";
$jpe = base64_encode ($jp);
$jpd = base64_decode ($jpe);

运行这些行后,$jpe变量的值为

  

IOengeOBr + OCrOODqeOCueOCkumjn + OBueOCieOCjOOBvuOBmeOAguOBneOCjOOBr + engeOCkuWCt + OBpOOBkeOBvuOBm + OCK + OAgg ==

可以在ASCII或Latin-1列中存储。

答案 1 :(得分:-2)

utf-8将unicode数据保存在表格中......但其他方式是编码并保存然后解码并显示

<强>更新: 在网上搜索并在How do you Encrypt and Decrypt a PHP String?

找到答案
define("ENCRYPTION_KEY", "!@#$%^&*");
$string = "This is the original data string!";

echo $encrypted = encrypt($string, ENCRYPTION_KEY);
echo "<br />";
echo $decrypted = decrypt($encrypted, ENCRYPTION_KEY);

/**
 * Returns an encrypted & utf8-encoded
 */
function encrypt($pure_string, $encryption_key) {
    $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $encryption_key, utf8_encode($pure_string), MCRYPT_MODE_ECB, $iv);
    return $encrypted_string;
}

/**
 * Returns decrypted original string
 */
function decrypt($encrypted_string, $encryption_key) {
    $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $encryption_key, $encrypted_string, MCRYPT_MODE_ECB, $iv);
    return $decrypted_string;
}