다음 코드를 사용하여 내 db에 데이터를 저장하고 업데이트합니다.특수 문자는? 내 mysql 데이터베이스에서
<?php
header("Content-Type: text/html;charset=UTF-8", true);
mysql_connect("localhost", "test", "test") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
// mysql_set_charset('UTF8');
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_unicode_ci'");
mysql_query("UPDATE `test`.`english` SET age = '".$age."', city = '".mysql_real_escape_string($_REQUEST['city'])."', aboutMe = '".$_REQUEST['about']."' WHERE `english`.`username` = '".$_REQUEST['username']."' LIMIT 1 ;")
or die(mysql_error());
코드가 잘 동작합니다. 그러나 문자열 (예 : "도시"에는 ä, ö, ü가 포함되어 있습니다. 예를 들어 단어 "Bär"는 "B? r"로갑니다.
나는 이미 utf8을 추가했지만 도움이되지 않습니다. 서버가 php4.x 만 지원합니다.
편집 : DB는 latin1_general_ci를 데이터 정렬로 사용하고 있습니다. 데이터 정렬로
PHP 버전은 여기에서 문제가되지 않습니다. 문제는 MySQL이 이러한 값을 저장하는 방법입니다. – ajacian81
이 쿼리를 먼저 시도해보십시오 :'alter table'test'.english'는 문자셋으로 변환합니다 utf8 collate utf8_unicode_ci;' – ajacian81
이제 시도해 보았습니다 만, 이제는 ä ü ö가 무시되고 그 문자가 무시됩니다. – tobias