Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
26
rated 0 times [  31] [ 5]  / answers: 1 / hits: 57251  / 12 Years ago, tue, january 22, 2013, 12:00:00

The cookie is encoded using the big5 set, and it cannot insert into MySQL. Could you help me to solve this problem?



Fields: username is eng, date1 is date, reason1 is a Chinese character.



$reason1 = $_COOKIE[reason];
$sql2=INSERT INTO
attendance_count(username,date,count_time,appendix)
VALUES ('$username','$date1','0','$reason1');
mysql_query($sql2);

More From » php

 Answers
3

Use UTF-8 when you create table.



create table table_name () CHARACTER SET = utf8;


Use UTF-8 when you insert to table



set username utf8; INSERT INTO table_name (ABC,VAL);


Read More



And More



Detailed Code



Below code is tested code please do the following its works.



If you have already created database please ALTER it as below code.
And if you didn't created database then create it and set Collation to utf8_unicode_ci



And same for table define Collation as utf8_unicode_ci for table fields in which you want to store chines chars.



ALTER DATABASE `stackoverflow` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE TABLE `stackoverflow`.`chines`
(
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`words` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE = InnoDB;


<?php

define('HOSTNAME', 'localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DATABASE', 'stackoverflow');

$dbLink = mysql_connect(HOSTNAME, USERNAME, PASSWORD)or die(mysql_error());
mysql_query(SET character_set_results=utf8, $dbLink)or die(mysql_error());
mb_language('uni');
mb_internal_encoding('UTF-8');
mysql_select_db(DATABASE, $dbLink)or die(mysql_error());
mysql_query(set names 'utf8',$dbLink)or die(mysql_error());

if(isset($_POST['addWord']))
{
mysql_query(SET character_set_client=utf8, $dbLink)or die(mysql_error());
mysql_query(SET character_set_connection=utf8, $dbLink)or die(mysql_error());

$sql_query = INSERT INTO chines(words) VALUES('.$_POST['words'].');
mysql_query($sql_query, $dbLink)or die(mysql_error());
}

?>

<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml xml:lang=en>
<head>
<meta http-equiv=Content-Type content=text/html;charset=UTF-8 />
<title></title>
</head>
<body>
<?php
mysql_query(SET character_set_results=utf8, $dbLink);
$sql_query = SELECT * FROM chines;
$dbResult = mysql_query( $sql_query, $dbLink)or die(mysql_error());

?>

<form action= method=post>

<p>Word : <input type=text name=words /></p>
<p><input type=submit name=addWord /></p>

</form>
<?php
while($row = mysql_fetch_assoc($dbResult))
{
echo $row['words']. '<br />';
}
?>
</body>
</html>


See the result and step visual as below.



enter


[#80716] Sunday, January 20, 2013, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
viridianaw

Total Points: 154
Total Questions: 94
Total Answers: 89

Location: South Georgia
Member since Sun, Aug 8, 2021
3 Years ago
;