В PHP вам нужно либо использовать функции multibyte , либо включить mbstring.func_overload . Таким образом, такие вещи, как strlen, будут работать, если у вас есть символы, которые принимают более одного байта.
Вам также потребуется определить набор символов ваших ответов. Вы можете использовать AddDefaultCharset, как указано выше, или написать PHP-код, который возвращает заголовок. (Или вы можете добавить тег META в свои HTML-документы.)
Как описано в этом форуме:
http://www.eclipse.org/forums/index.php/mv/msg/282618/
__GXX_EXPERIMENTAL_CXX0X__
в «Имя» и оставить значение «Значение» пустым. Нажмите «Применить», сделайте все, что вы попросите, затем нажмите «ОК». Обходной путь для меня с проектом, который использует внешний конструктор, состоял в том, чтобы определить символ:
__ cplusplus
blockquote>со значением:
201403
blockquote>в проекте: Пути и Символы -> Символы / GNU C ++.
Это сработало в eclipse Kepler CDT Version: 8.3.0.201402142303.
Следующие работы выполняются в Eclipse
C/C++
Oxygen
.2 с gcc-5.5.0
Eclipse Properties->C/C++ Build->Settings->GCC C++ Compiler->Dialect->Other dialect flags: -std=c++17
Не поднимайте ничего в Language standard
выпадающий список.
Или перейдите к:
После этого ВСЕ символы будет обновляться с правильными значениями, и индексщик должен работать по назначению
См. это руководство :
Я решил эту проблему недавно после того, как повезло googling.
Нажмите на свой проект и щелкните правой кнопкой мыши-> Свойства
Выберите «C / C ++ General -> Processor Include Paths, Макросы и т. Д. »
Выберите вкладку« Провайдеры »
Отмените выбор всего, кроме« Записи пользовательских настроек CDT »и« Встроенные настройки компилятора CDT GCC »
Нажмите «Настройки встроенного компилятора CDT GCC»
Снимите флажок «Использовать глобальный поставщик, совместно используемый между проектами»
Отредактируйте поле внизу с надписью «Команда для получения спецификаций компилятора»
Вставить в команду -std = c ++ 11, чтобы она выглядела примерно так:
${COMMAND} -std=c++11 -E -P -v -dD "${INPUTS}"
Нажмите Apply и Okay.
[/g0]
Это сработало для меня. Вероятно, вам нужно повторно проиндексировать проект.
Настройка **__GXX_EXPERIMENTAL_CXX0X__**
не помогает в моем случае (июль 2014, Eclipse Kepler 20130919, Ubuntu 12.04).
Чтобы исправить выделение синтаксиса C ++ 11, перейдите к:
Свойства проекта -> C / C ++ Общие -> Контуры и символы -> Символы -> GNU C ++
и перезаписать символ (т.е. добавить новый символ):
__cplusplus
со значением
201103L
ОБНОВЛЕНО: если вы используете более новую версию Eclispe (начиная с 2016 года) и все еще испытываете ту же проблему, попробуйте значение (как указано jose.diego):
201402L
Убедитесь, что индексир включен в настройках проекта (C / C ++ general -> Indexer)
Затем reindex (Project -> C / C ++ Index -> Rebuild)
, если проблема все еще сохраняется повторно. Теперь он должен работать.