Как получить имена папок в UTF-8 с помощью PHP - PullRequest
1 голос
/ 23 августа 2011

У меня есть база данных на испанском языке.

Когда я запрашиваю базу данных, я использую слова с испанским акцентом. эти слова происходят от многих имен папок, которые есть на моем жестком диске. Например, у меня есть папка с именем «Canadá», и я запрашиваю в БД сообщение «1003 *». В моем коде я делаю $name=GetFolderName(), который читает любое имя папки.

Это не работает. Если я жестко закодирую имя папки, например $name="Canadá", то запрос выполняется нормально, но если я читаю имя папки через PHP, запрос не выполняется успешно. Может быть, это вызвано тем, что моя таблица БД установлена ​​в UTF-8.

Есть ли способ прочитать имя папки, чтобы прочитанное имя было преобразовано в формат UTF-8?

Ответы [ 3 ]

0 голосов
/ 23 августа 2011

Сначала исправьте кавычку в своем запросе:

$query = "select from table where country='$name'";

Затем попробуйте распечатать переменную $name перед отправкой ее в базу данных как часть SQL - чтобы увидеть, на что она фактически установлена.

0 голосов
/ 06 ноября 2015

Я искал ответ на этот вопрос, но сам наткнулся на ответ, только прошлой ночью.Вот что я узнал:

Кто-то в другом месте предложил использовать basename(__DIR__).PHP_EOL; Я не мог понять, почему это не сработало, пока я не повторил имя дважды.В конце имени файла был пробел..PHP_EOL добавляет пробел, который влияет на ваш запрос к БД.Итак, мое решение:

$folder = basename(__DIR__);
$sql = "SELECT * FROM tablename WHERE folderid = '".$folder."'";

Это отлично сработало для меня.Я использую его для того, чтобы на веб-странице были ссылки, относящиеся к конкретному человеку, контенту или организации в бизнес-каталоге, с использованием папки, специфичной для этой цели.

Я понимаю, что этому вопросу уже много лет, но янадеюсь, это кому-нибудь поможет.

0 голосов
/ 23 августа 2011

Убедитесь, что вы цитируете правильно. Если GetFolderName() не вернет "Canadá", ваш запрос скорее всего потерпит неудачу. Всегда проверяйте фактическую строку запроса, если у вас возникают проблемы с запросами SQL.

...