Я получаю некоторые данные, имеющие сопоставление UTF8 ( utf8_unicode_ci
) из базы данных MySQL с PHP. Я использую этот фрагмент кода:
function advancedDatabaseSearch($pattern, $lpref) { $link = mysql_connect(DB_URL, DB_USER, DB_PWD); if (!$link) { return 'Could not connect: ' . mysql_error(); } $esc_value = mysql_real_escape_string($pattern); $esc_lpref = mysql_real_escape_string($lpref); mysql_select_db(DB_NAME, $link); $query = "SELECT RAWVALUE FROM rawvalueitem " ."WHERE RAWVALUE LIKE '".$esc_value."' " ."AND LANGUAGE = '".$esc_lpref."' " ."ORDER BY RAWVALUE ASC"; $result = mysql_query($query); $return = ""; while($row = mysql_fetch_array($result)) { $return = $return.$row['RAWVALUE']." "; } mysql_close($link); return $return; }
а затем из php, называемого Ajax:
$result = advancedDatabaseSearch($tttmp, $lpref); echo $result; return;
Тем не менее, когда я показываю результат в текстовой области, акценты отображаются неправильно:
С другой стороны, когда я получаю данные UT8 из файла:
if ( $file_loc != NULL ) { if ( file_exists($file_loc) ) { $handle = fopen($file_loc, "rb"); $contents = fread($handle, filesize($file_loc)); fclose($handle); $result = $contents; } } echo $result; return;
Я не получаю эту проблему !!! Как я могу решить эту проблему при использовании PHP для извлечения данных из MySql?