diff --git a/src/string_func_extra.h b/src/string_func_extra.h
new file mode 100644
--- /dev/null
+++ b/src/string_func_extra.h
@@ -0,0 +1,23 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
+ */
+
+#ifndef STRING_FUNC_EXTRA_H
+#define STRING_FUNC_EXTRA_H
+
+#include "string_func.h"
+#include
+
+static inline void str_validate(std::string &str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK)
+{
+ if (str.empty()) return;
+ char *buf = const_cast(str.c_str());
+ str.resize(str_validate_intl(buf, buf + str.size(), settings) - buf);
+}
+
+#endif /* STRING_FUNC_EXTRA_H */