Charter font shape undefined with LuaLaTeX

The default output font encoding with LuaLaTeX is TU, but you want T1:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[charter]{mathdesign}

\begin{document}

Hello

\end{document}

The warning you get when fontspec is loaded is spurious and should have no consequence. Loading fontenc is not needed and might even lead to bad output.

\documentclass{article}

% fix for the spurious warning issued by
\DeclareFontFamily{TU}{mdbch}{}
\DeclareFontShape{TU}{mdbch}{m}{n}{
 <-> \UnicodeFontFile{lmroman10-regular}{\UnicodeFontTeXLigatures}
}{}

\usepackage[charter]{mathdesign}
\usepackage{fontspec}

\setmainfont{XCharter}

\begin{document}

Hello

\end{document}