【问题标题】:Saving Japanese characters with PHP用 PHP 保存日文字符
【发布时间】:2012-03-12 19:44:13
【问题描述】:

我目前正在尝试用 PHP 中的 MySQL 保存一个日文字符串。字符被保存为问号。这是我的查询:

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

$result = mysql_query("INSERT INTO battles (basic_words) VALUES ('".mysql_real_escape_string($basic_words)."'");

字符串 "$basic_words" 肯定包含日文字符,但它们没有被保存。 “basic_words”行的coalitionutf8_general_ci

【问题讨论】:

  • $basic_words 来自哪里?
  • $basic_words 来自我创建的一个类。在保存之前检查字符串并且字符是正确的/日语

标签: php mysql utf-8


【解决方案1】:

php mysql query encoding problem 建议

$db_con= mysql_connect('localhost', 'user', 'password');
if( function_exists('mysql_set_charset') ){
    mysql_set_charset('utf8', $db_con);
}else{
    mysql_query("SET NAMES 'utf8'", $db_con);
}

同时检查http://php.net/manual/en/function.mysql-set-charset.php

【讨论】:

  • 不完全确定,但设置“mysql_set_charset”并删除“set character set...”似乎已经解决了这个问题。如果我现在删除“mysql_set_charset”,它仍然可以工作,虽然很奇怪但没问题。
  • 但我肯定要包含 mysql_query("SET NAMES 'utf8'");
猜你喜欢
  • 2019-05-16
  • 2013-09-27
  • 2012-05-11
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 2015-02-08
相关资源
最近更新 更多