Страница php не может распознать "ø" по значению mysql - PullRequest
1 голос
/ 07 июня 2011

У меня есть поле $ name (varchar (128)), в котором есть значение "Pølse Mand".

Теперь я хочу, чтобы он печатал что-то особенное, когда значение "Pølse Mand"

<?php 

if ($name=="Pølse Mand") { echo "123";};


?>

Но по какой-то причине это не работает. У меня также есть другое значение с именем «Текстовое поле», и оно отлично работает, когда я делаю то же самое с этим, так что это должно быть «ø», которое запутывает вещи.

Я предполагаю, что мое "ø" в php-файле несколько отличается от ø в значении, хотя я пытался скопировать его буквенно-буквенное в phpmyadmin.

Сортировка соединения MySQL - utf8_unicode_ci, а сортировка в таблице - latin1_swedish_ci. Я пробовал: <meta http-equiv="Content-Type" content="text/html; charset=utf8_unicode_ci"/> и со шведским, но это просто не работает.

Ответы [ 3 ]

2 голосов
/ 07 июня 2011

Вы используете UTF-8 на стороне клиента, поэтому должны сообщить MySQL, что вы используете UTF-8.Это делается командой MySQL SET NAMES 'utf8', которую необходимо отправить в качестве первого запроса при открытии соединения.В зависимости от вашей установки и от клиентской библиотеки MySQL, которую вы используете в сценарии PHP, это может быть сделано автоматически при каждом подключении.

$mysqli = new mysqli("localhost", "user", "password", "db");
$mysqli->set_charset("utf8");

//

$mysql_set_charset("utf8");
2 голосов
/ 07 июня 2011

Используете ли вы MySql или MySqli ?

Для MySQL используйте этот код перед запросом:

mysql_set_charset ( 'latin7' );

или:

mysql_set_charset ( 'utf8' );

А для MySQLi:

$mysqli -> set_charset ( 'latin7' ); //Change $mysqli to your variable name

или:

$mysqli -> set_charset ( 'utf8' );

Что касается тега <meta>, используйте:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

или:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-13"/>

Попробуйте оба варианта и найдите наиболее подходящий для вас.

1 голос
/ 07 июня 2011

попытаться изменить кодировку таблицы на utf8 и после подключения mysql выполнить запрос: set names utf8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...