basctl/source/basicide/baside2.cxx                                      |    2 
 basctl/source/basicide/baside3.cxx                                      |    2 
 basctl/source/basicide/basides1.cxx                                     |   10 
 basctl/source/basicide/localizationmgr.cxx                              |    2 
 basctl/source/dlged/dlged.cxx                                           |    4 
 basctl/source/dlged/propbrw.cxx                                         |    2 
 basegfx/test/SvgPathImportExport.cxx                                    |   16 
 basegfx/test/boxclipper.cxx                                             |    2 
 basegfx/test/clipstate.cxx                                              |    2 
 basic/source/basmgr/basmgr.cxx                                          |   12 
 basic/source/classes/sbunoobj.cxx                                       |    6 
 basic/source/runtime/runtime.cxx                                        |    2 
 basic/source/uno/dlgcont.cxx                                            |    4 
 chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx |    2 
 chart2/source/controller/main/ElementSelector.cxx                       |    3 
 chart2/source/model/filter/XMLFilter.cxx                                |    6 
 chart2/source/model/main/CartesianCoordinateSystem.cxx                  |    2 
 chart2/source/model/main/PolarCoordinateSystem.cxx                      |    3 
 chart2/source/tools/CachedDataSequence.cxx                              |    2 
 chart2/source/tools/ConfigColorScheme.cxx                               |    2 
 chart2/source/tools/ErrorBar.cxx                                        |    2 
 chart2/source/tools/InternalDataProvider.cxx                            |    6 
 chart2/source/tools/ReferenceSizeProvider.cxx                           |    2 
 chart2/source/tools/Scaling.cxx                                         |    8 
 chart2/source/tools/UncachedDataSequence.cxx                            |    2 
 chart2/source/view/axes/DateScaling.cxx                                 |    5 
 comphelper/source/misc/numberedcollection.cxx                           |    2 
 compilerplugins/clang/stringliteralvar.cxx                              |  203 
++++++++++
 compilerplugins/clang/test/stringliteralvar.cxx                         |   81 
+++
 configmgr/source/configurationprovider.cxx                              |    8 
 connectivity/source/commontools/conncleanup.cxx                         |    2 
 connectivity/source/commontools/dbtools2.cxx                            |    2 
 connectivity/source/cpool/ZConnectionPool.cxx                           |    2 
 connectivity/source/drivers/evoab2/NResultSetMetaData.cxx               |    2 
 connectivity/source/drivers/file/FDatabaseMetaData.cxx                  |    2 
 connectivity/source/drivers/firebird/Driver.cxx                         |    6 
 connectivity/source/drivers/jdbc/JConnection.cxx                        |    3 
 connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx         |    5 
 connectivity/source/parse/sqliterator.cxx                               |    2 
 cui/source/customize/acccfg.cxx                                         |    4 
 cui/source/customize/cfgutil.cxx                                        |    2 
 cui/source/dialogs/cuigaldlg.cxx                                        |    2 
 cui/source/dialogs/hlinettp.cxx                                         |    2 
 cui/source/inc/cfg.hxx                                                  |    8 
 cui/source/options/optasian.cxx                                         |    4 
 cui/source/options/optgdlg.cxx                                          |   10 
 cui/source/options/optinet2.cxx                                         |   16 
 dbaccess/qa/unit/embeddeddb_performancetest.cxx                         |    5 
 dbaccess/source/core/api/FilteredContainer.cxx                          |    2 
 dbaccess/source/core/dataaccess/databasedocument.cxx                    |    2 
 dbaccess/source/core/dataaccess/datasource.cxx                          |    2 
 dbaccess/source/core/misc/DatabaseDataProvider.cxx                      |    2 
 dbaccess/source/core/recovery/dbdocrecovery.cxx                         |    4 
 dbaccess/source/core/recovery/storagetextstream.cxx                     |    2 
 dbaccess/source/core/recovery/subcomponentrecovery.cxx                  |    4 
 dbaccess/source/filter/hsqldb/hsqlimport.cxx                            |    2 
 dbaccess/source/filter/hsqldb/parseschema.cxx                           |    5 
 dbaccess/source/filter/hsqldb/utils.cxx                                 |    7 
 dbaccess/source/ui/app/AppController.cxx                                |    2 
 dbaccess/source/ui/app/AppControllerGen.cxx                             |    2 
 dbaccess/source/ui/dlg/queryfilter.cxx                                  |    4 
 dbaccess/source/ui/misc/indexcollection.cxx                             |    2 
 dbaccess/source/ui/querydesign/querycontroller.cxx                      |    4 
 desktop/source/app/app.cxx                                              |    4 
 desktop/source/app/check_ext_deps.cxx                                   |    2 
 desktop/source/app/cmdlinehelp.cxx                                      |    8 
 desktop/source/deployment/misc/dp_dependencies.cxx                      |    8 
 desktop/source/migration/migration.cxx                                  |    6 
 editeng/source/misc/svxacorr.cxx                                        |    6 
 extensions/source/abpilot/admininvokationimpl.cxx                       |    2 
 extensions/source/abpilot/fieldmappingimpl.cxx                          |    2 
 extensions/source/bibliography/bibconfig.cxx                            |    2 
 extensions/source/dbpilots/gridwizard.cxx                               |    4 
 extensions/source/dbpilots/optiongrouplayouter.cxx                      |    2 
 filter/qa/unit/svg.cxx                                                  |    2 
 filter/qa/unit/textfilterdetect.cxx                                     |    2 
 filter/source/svg/svgexport.cxx                                         |    6 
 filter/source/svg/svgfilter.cxx                                         |    4 
 forms/source/component/DatabaseForm.cxx                                 |    2 
 forms/source/component/FormattedField.cxx                               |    4 
 framework/inc/taskcreatordefs.hxx                                       |   17 
 framework/qa/cppunit/loadenv.cxx                                        |    2 
 framework/source/accelerators/acceleratorconfiguration.cxx              |    4 
 framework/source/fwe/xml/menudocumenthandler.cxx                        |   12 
 framework/source/fwe/xml/toolboxdocumenthandler.cxx                     |   10 
 framework/source/fwi/uielement/constitemcontainer.cxx                   |    2 
 framework/source/fwi/uielement/itemcontainer.cxx                        |    3 
 framework/source/fwi/uielement/rootitemcontainer.cxx                    |    5 
 framework/source/helper/statusindicatorfactory.cxx                      |    2 
 framework/source/helper/uiconfigelementwrapperbase.cxx                  |   16 
 framework/source/helper/uielementwrapperbase.cxx                        |    6 
 framework/source/inc/accelerators/acceleratorconfiguration.hxx          |    6 
 framework/source/layoutmanager/layoutmanager.cxx                        |    2 
 framework/source/loadenv/loadenv.cxx                                    |    4 
 framework/source/services/autorecovery.cxx                              |   52 
+-
 framework/source/uiconfiguration/imagemanagerimpl.cxx                   |    4 
 framework/source/uielement/recentfilesmenucontroller.cxx                |    6 
 framework/source/uielement/toolbarsmenucontroller.cxx                   |    4 
 framework/source/uielement/uicommanddescription.cxx                     |    2 
 i18npool/source/collator/chaptercollator.cxx                            |    2 
 i18npool/source/collator/collator_unicode.cxx                           |    2 
 i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx   |    2 
 i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx           |    4 
 i18npool/source/nativenumber/nativenumbersupplier.cxx                   |    2 
 i18npool/source/ordinalsuffix/ordinalsuffix.cxx                         |    2 
 include/editeng/itemtype.hxx                                            |    2 
 include/vcl/filter/PDFiumLibrary.hxx                                    |   10 
 lotuswordpro/qa/cppunit/import_test.cxx                                 |    2 
 lotuswordpro/source/filter/lwpsilverbullet.cxx                          |    6 
 oox/qa/unit/drawingml.cxx                                               |    2 
 oox/qa/unit/mathml.cxx                                                  |    2 
 oox/qa/unit/shape.cxx                                                   |    2 
 oox/qa/unit/vml.cxx                                                     |    2 
 oox/source/ole/oleobjecthelper.cxx                                      |    2 
 reportdesign/source/core/api/ReportDefinition.cxx                       |    2 
 reportdesign/source/core/api/ReportEngineJFree.cxx                      |    2 
 reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx             |    2 
 reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx             |    2 
 reportdesign/source/filter/xml/xmlfilter.cxx                            |    8 
 sal/qa/rtl/uri/rtl_testuri.cxx                                          |   18 
 sc/qa/unit/helper/shared_test_impl.hxx                                  |    4 
 sc/qa/unit/tiledrendering/tiledrendering.cxx                            |    2 
 sc/qa/unit/uicalc/uicalc.cxx                                            |    2 
 sc/source/core/tool/autoform.cxx                                        |    2 
 sc/source/ui/docshell/docsh.cxx                                         |   14 
 sc/source/ui/docshell/impex.cxx                                         |    2 
 sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx                    |    4 
 sc/source/ui/vba/vbaborders.cxx                                         |    2 
 sc/source/ui/vba/vbainterior.cxx                                        |    6 
 sc/source/ui/vba/vbarange.cxx                                           |    6 
 sc/source/ui/vba/vbastyle.cxx                                           |    2 
 scripting/source/dlgprov/dlgprov.cxx                                    |    2 
 sd/qa/filter/eppt/eppt.cxx                                              |    2 
 sd/qa/unit/tiledrendering/LOKitSearchTest.cxx                           |    2 
 sd/qa/unit/tiledrendering/tiledrendering.cxx                            |    2 
 sd/source/filter/html/htmlex.cxx                                        |    4 
 sd/source/ui/framework/factories/PresentationFactory.cxx                |    2 
 sd/source/ui/inc/unokywds.hxx                                           |   99 
++--
 sd/source/ui/sidebar/MasterPagesSelector.cxx                            |    2 
 sd/source/ui/tools/EventMultiplexer.cxx                                 |    4 
 sd/source/ui/unoidl/DrawController.cxx                                  |    2 
 sd/source/ui/unoidl/unopage.cxx                                         |    2 
 sdext/source/pdfimport/test/tests.cxx                                   |    7 
 sfx2/qa/cppunit/view.cxx                                                |    2 
 sfx2/source/control/emojicontrol.cxx                                    |   18 
 sfx2/source/dialog/backingwindow.cxx                                    |    2 
 sfx2/source/doc/DocumentMetadataAccess.cxx                              |    6 
 sfx2/source/doc/SfxDocumentMetaData.cxx                                 |   10 
 sfx2/source/doc/docfac.cxx                                              |    3 
 sfx2/source/doc/guisaveas.cxx                                           |    6 
 sfx2/source/doc/templatedlg.cxx                                         |    8 
 sfx2/source/sidebar/SidebarController.cxx                               |    2 
 solenv/CompilerTest_compilerplugins_clang.mk                            |    1 
 starmath/source/mathmlexport.cxx                                        |    4 
 stoc/source/security/access_controller.cxx                              |    2 
 svgio/source/svgreader/svgtoken.cxx                                     |    4 
 svl/source/numbers/zformat.cxx                                          |    2 
 svtools/source/config/fontsubstconfig.cxx                               |   12 
 svtools/source/misc/sampletext.cxx                                      |    4 
 svtools/source/uno/toolboxcontroller.cxx                                |    2 
 svtools/source/uno/unoevent.cxx                                         |    8 
 svx/qa/unit/unodraw.cxx                                                 |    2 
 svx/source/accessibility/AccessibleShape.cxx                            |    4 
 svx/source/fmcomp/fmgridcl.cxx                                          |    2 
 svx/source/fmcomp/gridcell.cxx                                          |    4 
 svx/source/form/fmobj.cxx                                               |    2 
 svx/source/form/fmundo.cxx                                              |    2 
 svx/source/form/formcontroller.cxx                                      |    2 
 svx/source/gallery2/gallery1.cxx                                        |    4 
 svx/source/sidebar/area/AreaPropertyPanelBase.cxx                       |    2 
 svx/source/sidebar/line/LinePropertyPanelBase.cxx                       |    2 
 svx/source/sidebar/possize/PosSizePropertyPanel.cxx                     |    2 
 svx/source/svdraw/svdoole2.cxx                                          |    2 
 svx/source/tbxctrls/extrusioncontrols.cxx                               |   10 
 svx/source/tbxctrls/tbunosearchcontrollers.cxx                          |   12 
 svx/source/toolbars/extrusionbar.cxx                                    |   20 
 svx/source/toolbars/fontworkbar.cxx                                     |    2 
 svx/source/unodraw/unoshape.cxx                                         |   86 
++--
 sw/qa/core/crsr/crsr.cxx                                                |    2 
 sw/qa/core/doc/doc.cxx                                                  |    2 
 sw/qa/core/docnode/docnode.cxx                                          |    2 
 sw/qa/core/draw/draw.cxx                                                |    2 
 sw/qa/core/frmedt/frmedt.cxx                                            |    2 
 sw/qa/core/layout/layout.cxx                                            |    2 
 sw/qa/core/objectpositioning/objectpositioning.cxx                      |    2 
 sw/qa/core/text/text.cxx                                                |    2 
 sw/qa/core/txtnode/txtnode.cxx                                          |    2 
 sw/qa/core/undo/undo.cxx                                                |    2 
 sw/qa/core/unocore/unocore.cxx                                          |    2 
 sw/qa/core/uwriter.cxx                                                  |    2 
 sw/qa/extras/htmlexport/htmlexport.cxx                                  |    2 
 sw/qa/extras/htmlimport/htmlimport.cxx                                  |    2 
 sw/qa/extras/layout/layout.cxx                                          |    2 
 sw/qa/extras/layout/layout2.cxx                                         |    2 
 sw/qa/extras/ooxmlexport/ooxmlexport14.cxx                              |    2 
 sw/qa/extras/ooxmlexport/ooxmlexport15.cxx                              |    2 
 sw/qa/extras/ooxmlexport/ooxmlexport16.cxx                              |    2 
 sw/qa/extras/ooxmlexport/ooxmlexport9.cxx                               |    2 
 sw/qa/extras/tiledrendering/tiledrendering.cxx                          |    2 
 sw/qa/extras/uiwriter/uiwriter.cxx                                      |    2 
 sw/qa/extras/uiwriter/uiwriter2.cxx                                     |    5 
 sw/qa/extras/uiwriter/uiwriter3.cxx                                     |    2 
 sw/qa/extras/unowriter/unowriter.cxx                                    |    2 
 sw/qa/extras/ww8export/ww8export.cxx                                    |    2 
 sw/qa/uibase/frmdlg/frmdlg.cxx                                          |    2 
 sw/qa/uibase/shells/shells.cxx                                          |    2 
 sw/qa/uibase/uiview/uiview.cxx                                          |    2 
 sw/qa/uibase/uno/uno.cxx                                                |    2 
 sw/source/core/access/acccell.cxx                                       |    2 
 sw/source/core/access/acccontext.hxx                                    |    2 
 sw/source/core/access/accdoc.cxx                                        |    4 
 sw/source/core/access/accembedded.cxx                                   |    2 
 sw/source/core/access/accfootnote.cxx                                   |    6 
 sw/source/core/access/accheaderfooter.cxx                               |    6 
 sw/source/core/access/accpage.cxx                                       |    2 
 sw/source/core/access/accpara.cxx                                       |    4 
 sw/source/core/access/accpreview.cxx                                    |    3 
 sw/source/core/access/acctable.cxx                                      |    3 
 sw/source/core/crsr/crossrefbookmark.cxx                                |    2 
 sw/source/core/swg/SwXMLTextBlocks1.cxx                                 |    2 
 sw/source/core/text/EnhancedPDFExportHelper.cxx                         |    8 
 sw/source/filter/ww8/wrtww8.cxx                                         |    4 
 sw/source/filter/ww8/ww8glsy.cxx                                        |    3 
 sw/source/filter/ww8/ww8par.cxx                                         |    4 
 sw/source/filter/ww8/ww8scan.hxx                                        |   16 
 sw/source/filter/ww8/ww8struc.hxx                                       |    4 
 sw/source/filter/xml/XMLRedlineImportHelper.cxx                         |    6 
 sw/source/ui/vba/vbalisthelper.cxx                                      |   12 
 sw/source/uibase/app/applab.cxx                                         |    2 
 sw/source/uibase/dbui/mmconfigitem.cxx                                  |    2 
 sw/source/uibase/utlui/unotools.cxx                                     |    2 
 testtools/source/bridgetest/currentcontextchecker.cxx                   |    4 
 toolkit/source/controls/stdtabcontroller.cxx                            |    2 
 toolkit/source/controls/tabpagemodel.cxx                                |    2 
 toolkit/source/helper/formpdfexport.cxx                                 |   28 
-
 unotools/qa/unit/testGetEnglishSearchName.cxx                           |   11 
 unotools/source/config/historyoptions.cxx                               |   14 
 unotools/source/config/lingucfg.cxx                                     |    2 
 unotools/source/config/saveopt.cxx                                      |    2 
 vbahelper/source/vbahelper/vbacommandbarhelper.hxx                      |   10 
 vbahelper/source/vbahelper/vbahelper.cxx                                |    8 
 vcl/qa/cppunit/GraphicTest.cxx                                          |    4 
 vcl/qa/cppunit/PDFDocumentTest.cxx                                      |    2 
 vcl/qa/cppunit/TypeSerializerTest.cxx                                   |    2 
 vcl/qa/cppunit/filter/igif/igif.cxx                                     |    2 
 vcl/qa/cppunit/filter/ipdf/ipdf.cxx                                     |    2 
 vcl/qa/cppunit/pdfexport/pdfexport.cxx                                  |    2 
 vcl/source/gdi/gdimtf.cxx                                               |    2 
 writerfilter/qa/cppunittests/dmapper/CellColorHandler.cxx               |    2 
 writerfilter/qa/cppunittests/dmapper/DomainMapper.cxx                   |    2 
 writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx       |    2 
 writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl.cxx              |    2 
 writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx                  |    2 
 writerfilter/qa/cppunittests/dmapper/PropertyMap.cxx                    |    2 
 writerfilter/qa/cppunittests/dmapper/TextEffectsHandler.cxx             |    2 
 writerfilter/qa/cppunittests/rtftok/rtfsdrimport.cxx                    |    2 
 writerfilter/qa/cppunittests/rtftok/rtfsprm.cxx                         |    2 
 writerfilter/source/dmapper/FormControlHelper.cxx                       |    2 
 writerfilter/source/dmapper/TextEffectsHandler.cxx                      |    2 
 writerperfect/qa/unit/DirectoryStreamTest.cxx                           |    6 
 writerperfect/qa/unit/EPUBExportTest.cxx                                |    2 
 writerperfect/qa/unit/WPXSvStreamTest.cxx                               |    4 
 xmloff/qa/unit/draw.cxx                                                 |    2 
 xmloff/qa/unit/style.cxx                                                |    2 
 xmloff/qa/unit/text.cxx                                                 |    2 
 xmloff/source/chart/SchXMLTableContext.cxx                              |    2 
 xmloff/source/draw/sdxmlexp.cxx                                         |   18 
 xmloff/source/forms/elementimport.cxx                                   |    2 
 xmloff/source/meta/xmlversion.cxx                                       |    2 
 xmloff/source/text/XMLTextFrameContext.cxx                              |    8 
 xmloff/source/text/XMLTextListBlockContext.cxx                          |    2 
 xmloff/source/text/XMLTextMarkImportContext.cxx                         |    2 
 xmloff/source/text/txtfldi.cxx                                          |   57 
+-
 xmloff/source/text/txtimp.cxx                                           |   32 
-
 xmloff/source/text/txtvfldi.cxx                                         |   22 
-
 xmlscript/source/xmllib_imexp/xmllib_export.cxx                         |    4 
 xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx                           |    2 
 xmlsecurity/qa/unit/signing/signing.cxx                                 |    2 
 xmlsecurity/qa/unit/signing/signing2.cxx                                |    2 
 279 files changed, 1018 insertions(+), 707 deletions(-)

New commits:
commit a3d0091d185f39eddabf4d372ebe0ac3061dbb89
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Wed Dec 23 13:16:31 2020 +0100
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Sat Dec 26 14:51:15 2020 +0100

    New loplugin:stringliteralvar
    
    See the comment at the top of compilerplugins/clang/stringliteralvar.cxx for
    details.
    
    (Turned some affected variables in included files into inline variables, to
    avoid GCC warnings about unused variables.)
    
    Change-Id: Ie77219e6adfdaaceaa8b4e590b08971f2f04c83a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108239
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/basctl/source/basicide/baside2.cxx 
b/basctl/source/basicide/baside2.cxx
index 41c0ff4413f3..95768b0cfe54 100644
--- a/basctl/source/basicide/baside2.cxx
+++ b/basctl/source/basicide/baside2.cxx
@@ -93,7 +93,7 @@ short const ValidWindow = 0x1234;
 #if defined(OW) || defined(MTF)
 char const FilterMask_All[] = "*";
 #else
-char const FilterMask_All[] = "*.*";
+OUStringLiteral const FilterMask_All = u"*.*";
 #endif
 
 } // end anonymous namespace
diff --git a/basctl/source/basicide/baside3.cxx 
b/basctl/source/basicide/baside3.cxx
index 063828689a0f..32dfa80c2baf 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -71,7 +71,7 @@ using namespace ::com::sun::star::ui::dialogs;
 #ifdef _WIN32
 char const FilterMask_All[] = "*.*";
 #else
-char const FilterMask_All[] = "*";
+OUStringLiteral const FilterMask_All = u"*";
 #endif
 
 DialogWindow::DialogWindow(DialogWindowLayout* pParent, ScriptDocument const& 
rDocument,
diff --git a/basctl/source/basicide/basides1.cxx 
b/basctl/source/basicide/basides1.cxx
index d49060c0719d..7d931a70bad4 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -1209,10 +1209,12 @@ void Shell::SetCurWindow( BaseWindow* pNewWin, bool 
bUpdateTabBar, bool bRemembe
 
 void Shell::ManageToolbars()
 {
-    static const char aMacroBarResName[] = "private:resource/toolbar/macrobar";
-    static const char aDialogBarResName[] = 
"private:resource/toolbar/dialogbar";
-    static const char aInsertControlsBarResName[] = 
"private:resource/toolbar/insertcontrolsbar";
-    static const char aFormControlsBarResName[] = 
"private:resource/toolbar/formcontrolsbar";
+    static const OUStringLiteral aMacroBarResName = 
u"private:resource/toolbar/macrobar";
+    static const OUStringLiteral aDialogBarResName = 
u"private:resource/toolbar/dialogbar";
+    static const OUStringLiteral aInsertControlsBarResName
+        = u"private:resource/toolbar/insertcontrolsbar";
+    static const OUStringLiteral aFormControlsBarResName
+        = u"private:resource/toolbar/formcontrolsbar";
 
     if( !pCurWin )
         return;
diff --git a/basctl/source/basicide/localizationmgr.cxx 
b/basctl/source/basicide/localizationmgr.cxx
index 45c6239bc5c7..1e31f8a47d0f 100644
--- a/basctl/source/basicide/localizationmgr.cxx
+++ b/basctl/source/basicide/localizationmgr.cxx
@@ -74,7 +74,7 @@ bool LocalizationMgr::isLibraryLocalized ()
 
 void LocalizationMgr::handleTranslationbar ()
 {
-    static const char aToolBarResName[] = 
"private:resource/toolbar/translationbar";
+    static const OUStringLiteral aToolBarResName = 
u"private:resource/toolbar/translationbar";
 
     Reference< beans::XPropertySet > xFrameProps
         ( m_pShell->GetViewFrame()->GetFrame().GetFrameInterface(), 
uno::UNO_QUERY );
diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index 533e2381f3e7..ced23c5474bc 100644
--- a/basctl/source/dlged/dlged.cxx
+++ b/basctl/source/dlged/dlged.cxx
@@ -57,8 +57,8 @@ using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::io;
 
-const char aResourceResolverPropName[] = "ResourceResolver";
-const char aDecorationPropName[] = "Decoration";
+const OUStringLiteral aResourceResolverPropName = u"ResourceResolver";
+const OUStringLiteral aDecorationPropName = u"Decoration";
 
 
 // DlgEdHint
diff --git a/basctl/source/dlged/propbrw.cxx b/basctl/source/dlged/propbrw.cxx
index 5ddf9ec154b1..73e90e2827ac 100644
--- a/basctl/source/dlged/propbrw.cxx
+++ b/basctl/source/dlged/propbrw.cxx
@@ -141,7 +141,7 @@ void PropBrw::ImplReCreateController()
 
         // create a property browser controller
         Reference< XMultiComponentFactory > xFactory( 
xInspectorContext->getServiceManager(), UNO_SET_THROW );
-        static const char16_t s_sControllerServiceName[] = 
u"com.sun.star.awt.PropertyBrowserController";
+        static const OUStringLiteral s_sControllerServiceName = 
u"com.sun.star.awt.PropertyBrowserController";
         m_xBrowserController.set( xFactory->createInstanceWithContext( 
s_sControllerServiceName, xInspectorContext ), UNO_QUERY );
         if ( !m_xBrowserController.is() )
         {
diff --git a/basegfx/test/SvgPathImportExport.cxx 
b/basegfx/test/SvgPathImportExport.cxx
index 59f87e735815..7fa0468e7042 100644
--- a/basegfx/test/SvgPathImportExport.cxx
+++ b/basegfx/test/SvgPathImportExport.cxx
@@ -116,7 +116,7 @@ public:
         CPPUNIT_ASSERT_MESSAGE("importing simple rectangle from SVG-D",
                                utils::importFromSvgD( aPoly, aPath0, false, 
nullptr ));
         aExport = utils::exportToSvgD( aPoly, true, true, false );
-        const char sExportString[] = "m10 10h-20v-20h20z";
+        static const OUStringLiteral sExportString = u"m10 10h-20v-20h20z";
         CPPUNIT_ASSERT_EQUAL_MESSAGE("exporting rectangle to SVG-D",
                                OUString(sExportString), aExport );
         CPPUNIT_ASSERT_MESSAGE("importing simple rectangle from SVG-D 
(round-trip",
@@ -143,8 +143,8 @@ public:
 
         // so for correct unit test i add the new exported string here as 
sExportStringSimpleBezier
         // and compare to it.
-        const char sExportStringSimpleBezier[] =
-            "m11430 0c-8890 3810 5715 6985 5715 6985"
+        static const OUStringLiteral sExportStringSimpleBezier =
+            u"m11430 0c-8890 3810 5715 6985 5715 6985"
             "l-17145-1905c0 0 22860-10160 16510 6350"
             "s-3810-11430-3810-11430z";
         CPPUNIT_ASSERT_EQUAL_MESSAGE("exporting bezier polygon to SVG-D", 
OUString(sExportStringSimpleBezier), aExport);
@@ -164,8 +164,8 @@ public:
 
         // same here, the corrected export with the corrected B2DPolygon is 
simply more efficient,
         // so i needed to change the compare string. Also adding the re-import 
comparison below.
-        const char sExportString1[] =
-            "m1917 1114c-89-189-233-284-430-284-167 0-306 91-419 273s-170 
370-17"
+        static const OUStringLiteral sExportString1 =
+            u"m1917 1114c-89-189-233-284-430-284-167 0-306 91-419 273s-170 
370-17"
             "0 564c0 145 33 259 98 342 65 84 150 126 257 126q115.5 0 
231-57s147-97 210-176 99-143 109-190c38-199 76-398 114"
             "-598zm840 1646c-133 73-312 139-537 197-225 57-440 86-644 
87-483-1-866-132-1150-392-284-261-426-619-426-1076 0-"
             "292 67-560 200-803s321-433 562-569 514-204 821-204c405 0 739 125 
1003 374 264 250 396 550 396 899 0 313-88 576"
@@ -187,8 +187,8 @@ public:
         CPPUNIT_ASSERT_MESSAGE("importing complex polygon from SVG-D",
                                utils::importFromSvgD( aPoly, aPath3, false, 
nullptr ));
         aExport = utils::exportToSvgD( aPoly, true, true, false );
-        const char sExportString2[] =
-            "m1598 125h306v2334h-306v-1105h-1293v1105h-305v-2334h305v973h1293"
+        static const OUStringLiteral sExportString2 =
+            u"m1598 125h306v2334h-306v-1105h-1293v1105h-305v-2334h305v973h1293"
             "zm2159 1015 78-44 85 235-91 47-91 40-90 34-90 29-89 21-88 16-88 
10-88 3-102-4-97"
             
"-12-91-19-85-26-40-16-39-18-38-20-36-22-34-24-33-26-32-27-30-30-29-31-27-33-25-3"
             "3-23-36-21-36-19-38-18-40-16-40-26-86-18-91-11-97-4-103 3-98 
11-94 17-89 24-84 3"
@@ -220,7 +220,7 @@ public:
             utils::createPolygonFromRect( B2DRange(0.0,0.0,4000.0,4000.0) ));
         aExport = utils::exportToSvgD( B2DPolyPolygon(aRect), false, false, 
false );
 
-        const char sExportStringRect[] = "M0 0H4000V4000H0Z";
+        static const OUStringLiteral sExportStringRect = u"M0 0H4000V4000H0Z";
         CPPUNIT_ASSERT_EQUAL_MESSAGE("exporting to rectangle svg-d string",
                                OUString(sExportStringRect), aExport);
     }
diff --git a/basegfx/test/boxclipper.cxx b/basegfx/test/boxclipper.cxx
index 47d3584df06e..cca5cabf3766 100644
--- a/basegfx/test/boxclipper.cxx
+++ b/basegfx/test/boxclipper.cxx
@@ -155,7 +155,7 @@ public:
             aRandomIntersections.appendElement( aRandomRange, 
B2VectorOrientation::Negative );
         }
 #else
-        const char randomSvg[]="m394 
783h404v57h-404zm-197-505h571v576h-571zm356-634h75v200h-75zm-40-113h403v588h-403zm93-811h111v494h-111zm-364-619h562v121h-562zm-134-8h292v27h-292zm110
 
356h621v486h-621zm78-386h228v25h-228zm475-345h201v201h-201zm-2-93h122v126h-122zm-417-243h567v524h-567zm-266-738h863v456h-863zm262-333h315v698h-315zm-328-826h43v393h-43zm830-219h120v664h-120zm-311-636h221v109h-221zm-500
 
137h628v19h-628zm681-94h211v493h-211zm-366-646h384v355h-384zm-189-199h715v247h-715zm165-459h563v601h-563zm258-479h98v606h-98zm270-517h65v218h-65zm-44-259h96v286h-96zm-599-202h705v468h-705zm216-803h450v494h-450zm-150-22h26v167h-26zm-55-599h50v260h-50zm190-278h490v387h-490zm-290-453h634v392h-634zm257
 
189h552v300h-552zm-151-690h136v455h-136zm12-597h488v432h-488zm501-459h48v39h-48zm-224-112h429v22h-429zm-281
 
102h492v621h-492zm519-158h208v17h-208zm-681-563h56v427h-56zm126-451h615v392h-615zm-47-410h598v522h-598zm-32
 316h79v110h-79zm-71-129h18v127h-18zm126-993h743v589h-743zm211-430h428v750h-
 
428zm61-554h100v220h-100zm-353-49h658v157h-658zm778-383h115v272h-115zm-249-541h119v712h-119zm203
 86h94v40h-94z";
+        static const OUStringLiteral randomSvg=u"m394 
783h404v57h-404zm-197-505h571v576h-571zm356-634h75v200h-75zm-40-113h403v588h-403zm93-811h111v494h-111zm-364-619h562v121h-562zm-134-8h292v27h-292zm110
 
356h621v486h-621zm78-386h228v25h-228zm475-345h201v201h-201zm-2-93h122v126h-122zm-417-243h567v524h-567zm-266-738h863v456h-863zm262-333h315v698h-315zm-328-826h43v393h-43zm830-219h120v664h-120zm-311-636h221v109h-221zm-500
 
137h628v19h-628zm681-94h211v493h-211zm-366-646h384v355h-384zm-189-199h715v247h-715zm165-459h563v601h-563zm258-479h98v606h-98zm270-517h65v218h-65zm-44-259h96v286h-96zm-599-202h705v468h-705zm216-803h450v494h-450zm-150-22h26v167h-26zm-55-599h50v260h-50zm190-278h490v387h-490zm-290-453h634v392h-634zm257
 
189h552v300h-552zm-151-690h136v455h-136zm12-597h488v432h-488zm501-459h48v39h-48zm-224-112h429v22h-429zm-281
 
102h492v621h-492zm519-158h208v17h-208zm-681-563h56v427h-56zm126-451h615v392h-615zm-47-410h598v522h-598zm-32
 316h79v110h-79zm-71-129h18v127h-18zm126-993h743v589h-743zm
 
211-430h428v750h-428zm61-554h100v220h-100zm-353-49h658v157h-658zm778-383h115v272h-115zm-249-541h119v712h-119zm203
 86h94v40h-94z";
         B2DPolyPolygon randomPoly;
         CPPUNIT_ASSERT(utils::importFromSvgD(randomPoly, randomSvg, false, 
nullptr));
         for (auto const& aPolygon : randomPoly)
diff --git a/basegfx/test/clipstate.cxx b/basegfx/test/clipstate.cxx
index 44e64b8c23d8..94c0246d8312 100644
--- a/basegfx/test/clipstate.cxx
+++ b/basegfx/test/clipstate.cxx
@@ -127,7 +127,7 @@ public:
     {
         utils::B2DClipState aMixedClip;
 
-        const char unionSvg[]="m100 
10v90h-90v10h-20v-10h-90v-90h-10v-20h10v-90h90v-10h20v10h90v90h10v20z";
+        static const OUStringLiteral unionSvg=u"m100 
10v90h-90v10h-20v-10h-90v-90h-10v-20h10v-90h90v-10h20v10h90v90h10v20z";
 
         B2DPolyPolygon aTmp1;
         CPPUNIT_ASSERT(utils::importFromSvgD(aTmp1, unionSvg, false, nullptr));
diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx
index 77f5939cd9d0..a3cf5b9e3ccf 100644
--- a/basic/source/basmgr/basmgr.cxx
+++ b/basic/source/basmgr/basmgr.cxx
@@ -84,12 +84,12 @@ typedef WeakImplHelper< script::XStarBasicAccess > 
StarBasicAccessHelper;
 // Version 2
 //  + bool      bReference
 
-const char szStdLibName[] = "Standard";
-const char szBasicStorage[] = "StarBASIC";
-const char szOldManagerStream[] = "BasicManager";
-const char szManagerStream[] = "BasicManager2";
-const char szImbedded[] = "LIBIMBEDDED";
-const char szCryptingKey[] = "CryptedBasic";
+const OUStringLiteral szStdLibName = u"Standard";
+const OUStringLiteral szBasicStorage = u"StarBASIC";
+const OUStringLiteral szOldManagerStream = u"BasicManager";
+const OUStringLiteral szManagerStream = u"BasicManager2";
+const OUStringLiteral szImbedded = u"LIBIMBEDDED";
+const OStringLiteral szCryptingKey = "CryptedBasic";
 
 
 const StreamMode eStreamReadMode = StreamMode::READ | StreamMode::NOCREATE | 
StreamMode::SHARE_DENYALL;
diff --git a/basic/source/classes/sbunoobj.cxx 
b/basic/source/classes/sbunoobj.cxx
index 3816d351302c..82ffb8c11699 100644
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -99,9 +99,9 @@ using namespace cppu;
 
 
 // Identifiers for creating the strings for dbg_Properties
-char16_t constexpr ID_DBG_SUPPORTEDINTERFACES[] = u"Dbg_SupportedInterfaces";
-char const ID_DBG_PROPERTIES[] = "Dbg_Properties";
-char const ID_DBG_METHODS[] = "Dbg_Methods";
+OUStringLiteral constexpr ID_DBG_SUPPORTEDINTERFACES = 
u"Dbg_SupportedInterfaces";
+OUStringLiteral const ID_DBG_PROPERTIES = u"Dbg_Properties";
+OUStringLiteral const ID_DBG_METHODS = u"Dbg_Methods";
 
 char const aSeqLevelStr[] = "[]";
 
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index 5a64166b63a1..3ceaf38cafc7 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -1786,7 +1786,7 @@ void removeDimAsNewRecoverItem( SbxVariable* pVar )
 // saving object variable
 // not-object variables will cause errors
 
-const char pCollectionStr[] = "Collection";
+const OUStringLiteral pCollectionStr = u"Collection";
 
 void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, 
bool bHandleDefaultProp )
 {
diff --git a/basic/source/uno/dlgcont.cxx b/basic/source/uno/dlgcont.cxx
index b303349fa009..a8e124616910 100644
--- a/basic/source/uno/dlgcont.cxx
+++ b/basic/source/uno/dlgcont.cxx
@@ -342,8 +342,8 @@ SfxLibraryContainer* 
SfxDialogLibraryContainer::createInstanceImpl()
     return new SfxDialogLibraryContainer();
 }
 
-const char aResourceFileNameBase[] = "DialogStrings";
-const char aResourceFileCommentBase[] = "# Strings for Dialog Library ";
+const OUStringLiteral aResourceFileNameBase = u"DialogStrings";
+const OUStringLiteral aResourceFileCommentBase = u"# Strings for Dialog 
Library ";
 
 // Resource handling
 Reference< css::resource::XStringResourcePersistence >
diff --git 
a/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx 
b/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx
index 373fec6c8344..3b48c7907a4c 100644
--- a/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx
+++ b/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx
@@ -60,7 +60,7 @@ WrappedScaleTextProperty::WrappedScaleTextProperty(const 
std::shared_ptr<Chart2M
 
 void WrappedScaleTextProperty::setPropertyValue( const Any& rOuterValue, const 
Reference< beans::XPropertySet >& xInnerPropertySet ) const
 {
-    static const char aRefSizeName[] = "ReferencePageSize";
+    static const OUStringLiteral aRefSizeName = u"ReferencePageSize";
 
     if( !xInnerPropertySet.is() )
         return;
diff --git a/chart2/source/controller/main/ElementSelector.cxx 
b/chart2/source/controller/main/ElementSelector.cxx
index 2fa6fa360616..91e299d4906d 100644
--- a/chart2/source/controller/main/ElementSelector.cxx
+++ b/chart2/source/controller/main/ElementSelector.cxx
@@ -48,7 +48,8 @@ using ::com::sun::star::uno::Sequence;
 
 namespace
 {
-const char lcl_aServiceName[] = 
"com.sun.star.comp.chart.ElementSelectorToolbarController";
+const OUStringLiteral lcl_aServiceName
+    = u"com.sun.star.comp.chart.ElementSelectorToolbarController";
 }
 
 SelectorListBox::SelectorListBox(vcl::Window* pParent)
diff --git a/chart2/source/model/filter/XMLFilter.cxx 
b/chart2/source/model/filter/XMLFilter.cxx
index ec1bf1f8b3a3..96b66e95e338 100644
--- a/chart2/source/model/filter/XMLFilter.cxx
+++ b/chart2/source/model/filter/XMLFilter.cxx
@@ -58,9 +58,9 @@ using ::osl::MutexGuard;
 
 namespace
 {
-char const sXML_metaStreamName[] = "meta.xml";
-char const sXML_styleStreamName[] = "styles.xml";
-char const sXML_contentStreamName[] = "content.xml";
+OUStringLiteral const sXML_metaStreamName = u"meta.xml";
+OUStringLiteral const sXML_styleStreamName = u"styles.xml";
+OUStringLiteral const sXML_contentStreamName = u"content.xml";
 
 
 uno::Reference< embed::XStorage > lcl_getWriteStorage(
diff --git a/chart2/source/model/main/CartesianCoordinateSystem.cxx 
b/chart2/source/model/main/CartesianCoordinateSystem.cxx
index dd0f77b40e58..f8cc8f17ad88 100644
--- a/chart2/source/model/main/CartesianCoordinateSystem.cxx
+++ b/chart2/source/model/main/CartesianCoordinateSystem.cxx
@@ -31,7 +31,7 @@ namespace com::sun::star::uno { class XComponentContext; }
 namespace
 {
 
-const char CHART2_COOSYSTEM_CARTESIAN_SERVICE_NAME[] = 
"com.sun.star.chart2.CoordinateSystems.Cartesian";
+const OUStringLiteral CHART2_COOSYSTEM_CARTESIAN_SERVICE_NAME = 
u"com.sun.star.chart2.CoordinateSystems.Cartesian";
 
 }
 
diff --git a/chart2/source/model/main/PolarCoordinateSystem.cxx 
b/chart2/source/model/main/PolarCoordinateSystem.cxx
index 5ec3252ae582..2d2497bc23c9 100644
--- a/chart2/source/model/main/PolarCoordinateSystem.cxx
+++ b/chart2/source/model/main/PolarCoordinateSystem.cxx
@@ -31,7 +31,8 @@ using ::com::sun::star::uno::Sequence;
 namespace
 {
 
-const char CHART2_COOSYSTEM_POLAR_SERVICE_NAME[] = 
"com.sun.star.chart2.CoordinateSystems.Polar";
+const OUStringLiteral CHART2_COOSYSTEM_POLAR_SERVICE_NAME
+    = u"com.sun.star.chart2.CoordinateSystems.Polar";
 
 }
 
diff --git a/chart2/source/tools/CachedDataSequence.cxx 
b/chart2/source/tools/CachedDataSequence.cxx
index 4eaf5d8f2743..dc44985589cc 100644
--- a/chart2/source/tools/CachedDataSequence.cxx
+++ b/chart2/source/tools/CachedDataSequence.cxx
@@ -42,7 +42,7 @@ using ::chart::impl::CachedDataSequence_Base;
 
 namespace
 {
-const char lcl_aServiceName[] = "com.sun.star.comp.chart.CachedDataSequence";
+const OUStringLiteral lcl_aServiceName = 
u"com.sun.star.comp.chart.CachedDataSequence";
 
 enum
 {
diff --git a/chart2/source/tools/ConfigColorScheme.cxx 
b/chart2/source/tools/ConfigColorScheme.cxx
index 5645fb22b68f..2aaf672800ac 100644
--- a/chart2/source/tools/ConfigColorScheme.cxx
+++ b/chart2/source/tools/ConfigColorScheme.cxx
@@ -34,7 +34,7 @@ using ::com::sun::star::uno::Sequence;
 namespace
 {
 
-const char aSeriesPropName[] = "Series";
+const OUStringLiteral aSeriesPropName = u"Series";
 
 } // anonymous namespace
 
diff --git a/chart2/source/tools/ErrorBar.cxx b/chart2/source/tools/ErrorBar.cxx
index 91d6c003a067..6dd803093365 100644
--- a/chart2/source/tools/ErrorBar.cxx
+++ b/chart2/source/tools/ErrorBar.cxx
@@ -41,7 +41,7 @@ using namespace ::com::sun::star;
 namespace
 {
 
-const char lcl_aServiceName[] = "com.sun.star.comp.chart2.ErrorBar";
+const OUStringLiteral lcl_aServiceName = u"com.sun.star.comp.chart2.ErrorBar";
 
 bool lcl_isInternalData( const uno::Reference< 
chart2::data::XLabeledDataSequence > & xLSeq )
 {
diff --git a/chart2/source/tools/InternalDataProvider.cxx 
b/chart2/source/tools/InternalDataProvider.cxx
index 94481ce9e5f8..abc3aea59d8f 100644
--- a/chart2/source/tools/InternalDataProvider.cxx
+++ b/chart2/source/tools/InternalDataProvider.cxx
@@ -57,12 +57,12 @@ namespace chart
 namespace
 {
 
-const char lcl_aCategoriesRangeName[] = "categories";
+const OUStringLiteral lcl_aCategoriesRangeName = u"categories";
 const char lcl_aCategoriesLevelRangeNamePrefix[] = "categoriesL "; //L <-> 
level
 const char lcl_aCategoriesPointRangeNamePrefix[] = "categoriesP "; //P <-> 
point
-const char lcl_aCategoriesRoleName[] = "categories";
+const OUStringLiteral lcl_aCategoriesRoleName = u"categories";
 const char lcl_aLabelRangePrefix[] = "label ";
-const char lcl_aCompleteRange[] = "all";
+const OUStringLiteral lcl_aCompleteRange = u"all";
 
 typedef std::multimap< OUString, uno::WeakReference< 
chart2::data::XDataSequence > >
     lcl_tSequenceMap;
diff --git a/chart2/source/tools/ReferenceSizeProvider.cxx 
b/chart2/source/tools/ReferenceSizeProvider.cxx
index 44109500552a..8e254903929e 100644
--- a/chart2/source/tools/ReferenceSizeProvider.cxx
+++ b/chart2/source/tools/ReferenceSizeProvider.cxx
@@ -131,7 +131,7 @@ void ReferenceSizeProvider::setValuesAtPropertySet(
     if( ! xProp.is())
         return;
 
-    static const char aRefSizeName[] = "ReferencePageSize";
+    static const OUStringLiteral aRefSizeName = u"ReferencePageSize";
 
     try
     {
diff --git a/chart2/source/tools/Scaling.cxx b/chart2/source/tools/Scaling.cxx
index 27a9c51a7a44..212eadba54ee 100644
--- a/chart2/source/tools/Scaling.cxx
+++ b/chart2/source/tools/Scaling.cxx
@@ -27,10 +27,10 @@ namespace com::sun::star::uno { class XComponentContext; }
 namespace
 {
 
-const char lcl_aServiceName_Logarithmic[] = 
"com.sun.star.chart2.LogarithmicScaling";
-const char lcl_aServiceName_Exponential[] = 
"com.sun.star.chart2.ExponentialScaling";
-const char lcl_aServiceName_Linear[] = "com.sun.star.chart2.LinearScaling";
-const char lcl_aServiceName_Power[] = "com.sun.star.chart2.PowerScaling";
+const OUStringLiteral lcl_aServiceName_Logarithmic = 
u"com.sun.star.chart2.LogarithmicScaling";
+const OUStringLiteral lcl_aServiceName_Exponential = 
u"com.sun.star.chart2.ExponentialScaling";
+const OUStringLiteral lcl_aServiceName_Linear = 
u"com.sun.star.chart2.LinearScaling";
+const OUStringLiteral lcl_aServiceName_Power = 
u"com.sun.star.chart2.PowerScaling";
 
 }
 
diff --git a/chart2/source/tools/UncachedDataSequence.cxx 
b/chart2/source/tools/UncachedDataSequence.cxx
index 8851988b6d85..bdffa24a458d 100644
--- a/chart2/source/tools/UncachedDataSequence.cxx
+++ b/chart2/source/tools/UncachedDataSequence.cxx
@@ -41,7 +41,7 @@ using ::chart::impl::UncachedDataSequence_Base;
 
 namespace
 {
-const char lcl_aServiceName[] = "com.sun.star.comp.chart.UncachedDataSequence";
+const OUStringLiteral lcl_aServiceName = 
u"com.sun.star.comp.chart.UncachedDataSequence";
 
 enum
 {
diff --git a/chart2/source/view/axes/DateScaling.cxx 
b/chart2/source/view/axes/DateScaling.cxx
index 60ffc14bbfae..b5a690e203aa 100644
--- a/chart2/source/view/axes/DateScaling.cxx
+++ b/chart2/source/view/axes/DateScaling.cxx
@@ -25,8 +25,9 @@
 namespace
 {
 
-const char lcl_aServiceName_DateScaling[] = "com.sun.star.chart2.DateScaling";
-const char lcl_aServiceName_InverseDateScaling[] = 
"com.sun.star.chart2.InverseDateScaling";
+const OUStringLiteral lcl_aServiceName_DateScaling = 
u"com.sun.star.chart2.DateScaling";
+const OUStringLiteral lcl_aServiceName_InverseDateScaling
+    = u"com.sun.star.chart2.InverseDateScaling";
 
 const double lcl_fNumberOfMonths = 12.0;//todo: this needs to be offered by 
basic tools Date class if it should be more generic
 }
diff --git a/comphelper/source/misc/numberedcollection.cxx 
b/comphelper/source/misc/numberedcollection.cxx
index 8252a306330b..20ed2cc43d9d 100644
--- a/comphelper/source/misc/numberedcollection.cxx
+++ b/comphelper/source/misc/numberedcollection.cxx
@@ -24,7 +24,7 @@
 
 namespace comphelper{
 
-const char ERRMSG_INVALID_COMPONENT_PARAM[] = "NULL as component reference not 
allowed.";
+const OUStringLiteral ERRMSG_INVALID_COMPONENT_PARAM = u"NULL as component 
reference not allowed.";
 
 
 NumberedCollection::NumberedCollection()
diff --git a/compilerplugins/clang/stringliteralvar.cxx 
b/compilerplugins/clang/stringliteralvar.cxx
new file mode 100644
index 000000000000..348193421a61
--- /dev/null
+++ b/compilerplugins/clang/stringliteralvar.cxx
@@ -0,0 +1,203 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+// Find constant character array variables that are passed into O[U]String 
constructors and should
+// thus be turned into O[U]StringLiteral variables.
+//
+// Such a variable may have been used in multiple places, not all of which 
would be compatible with
+// changing the variable's type to O[U]StringLiteral.  However, this plugin is 
aggressive and
+// ignores all but the first use of such a variable.  In all cases of 
incompatible uses so far, it
+// was possible to change to surrounding code (for the better) to make the 
changes work.
+//
+// The plugin also flags O[U]StringLiteral variables of automatic storage 
duration, and uses of such
+// variables with sizeof---two likely errors that can occur once a variable 
has been changed from a
+// character array to O[U]StringLiteral.
+//
+//TODO:  In theory, we should not only look for variables, but also for 
non-static data members.  In
+// practice, those should be rare, though, as they should arguably have been 
static data members to
+// begin with.
+
+#include <cassert>
+
+#include "check.hxx"
+#include "plugin.hxx"
+
+namespace
+{
+bool isAutomaticVariable(VarDecl const* decl)
+{
+    switch (cast<VarDecl>(decl)->getStorageDuration())
+    {
+        case SD_Automatic:
+            return true;
+        case SD_Thread:
+        case SD_Static:
+            return false;
+        case SD_FullExpression:
+        case SD_Dynamic:
+            assert(false);
+        default:
+            llvm_unreachable("unknown StorageDuration");
+    }
+}
+
+class StringLiteralVar final : public 
loplugin::FilteringPlugin<StringLiteralVar>
+{
+public:
+    explicit StringLiteralVar(loplugin::InstantiationData const& data)
+        : FilteringPlugin(data)
+    {
+    }
+
+    bool TraverseInitListExpr(InitListExpr* expr, DataRecursionQueue* queue = 
nullptr)
+    {
+        return WalkUpFromInitListExpr(expr)
+               && TraverseSynOrSemInitListExpr(
+                      expr->isSemanticForm() ? expr : expr->getSemanticForm(), 
queue);
+    }
+
+    bool VisitCXXConstructExpr(CXXConstructExpr const* expr)
+    {
+        if (ignoreLocation(expr))
+        {
+            return true;
+        }
+        loplugin::TypeCheck const tc(expr->getType());
+        if (!(tc.Class("OString").Namespace("rtl").GlobalNamespace()
+              || tc.Class("OUString").Namespace("rtl").GlobalNamespace()))
+        {
+            return true;
+        }
+        switch (expr->getConstructor()->getNumParams())
+        {
+            case 1:
+            {
+                auto const e = 
dyn_cast<DeclRefExpr>(expr->getArg(0)->IgnoreParenImpCasts());
+                if (e == nullptr)
+                {
+                    return true;
+                }
+                auto const tc = loplugin::TypeCheck(e->getType());
+                if 
(!(tc.Class("OStringLiteral").Namespace("rtl").GlobalNamespace()
+                      || 
tc.Class("OUStringLiteral").Namespace("rtl").GlobalNamespace()))
+                {
+                    return true;
+                }
+                auto const d = e->getDecl();
+                if (!isAutomaticVariable(cast<VarDecl>(d)))
+                {
+                    return true;
+                }
+                if (!reportedAutomatic_.insert(d).second)
+                {
+                    return true;
+                }
+                report(DiagnosticsEngine::Warning,
+                       "variable %0 of type %1 with automatic storage duration 
most likely needs "
+                       "to be static",
+                       d->getLocation())
+                    << d << d->getType() << d->getSourceRange();
+                report(DiagnosticsEngine::Note, "first converted to %0 here", 
expr->getLocation())
+                    << expr->getType() << expr->getSourceRange();
+            }
+            break;
+            case 2:
+            {
+                auto const e1 = 
dyn_cast<DeclRefExpr>(expr->getArg(0)->IgnoreParenImpCasts());
+                if (e1 == nullptr)
+                {
+                    return true;
+                }
+                auto const t = e1->getType();
+                if (!(t.isConstQualified() && t->isConstantArrayType()))
+                {
+                    return true;
+                }
+                auto const e2 = expr->getArg(1);
+                if (!(isa<CXXDefaultArgExpr>(e2)
+                      && loplugin::TypeCheck(e2->getType())
+                             .Struct("Dummy")
+                             .Namespace("libreoffice_internal")
+                             .Namespace("rtl")
+                             .GlobalNamespace()))
+                {
+                    return true;
+                }
+                auto const d = e1->getDecl();
+                if (!reportedArray_.insert(d).second)
+                {
+                    return true;
+                }
+                report(DiagnosticsEngine::Warning,
+                       "change type of variable %0 from constant character 
array (%1) to "
+                       "%select{OStringLiteral|OUStringLiteral}2%select{|, and 
make it static}3",
+                       d->getLocation())
+                    << d << d->getType()
+                    << (tc.Class("OString").Namespace("rtl").GlobalNamespace() 
? 0 : 1)
+                    << isAutomaticVariable(cast<VarDecl>(d)) << 
d->getSourceRange();
+                report(DiagnosticsEngine::Note, "first passed into a %0 
constructor here",
+                       expr->getLocation())
+                    << expr->getType().getUnqualifiedType() << 
expr->getSourceRange();
+            }
+            break;
+        }
+        return true;
+    }
+
+    bool VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr const* expr)
+    {
+        if (ignoreLocation(expr))
+        {
+            return true;
+        }
+        if (expr->getKind() != UETT_SizeOf)
+        {
+            return true;
+        }
+        if (expr->isArgumentType())
+        {
+            return true;
+        }
+        auto const e = 
dyn_cast<DeclRefExpr>(expr->getArgumentExpr()->IgnoreParenImpCasts());
+        if (e == nullptr)
+        {
+            return true;
+        }
+        auto const tc = loplugin::TypeCheck(e->getType());
+        if (!(tc.Class("OStringLiteral").Namespace("rtl").GlobalNamespace()
+              || 
tc.Class("OUStringLiteral").Namespace("rtl").GlobalNamespace()))
+        {
+            return true;
+        }
+        auto const d = e->getDecl();
+        report(DiagnosticsEngine::Warning,
+               "variable %0 of type %1 suspiciously used in a sizeof 
expression", e->getLocation())
+            << d << d->getType() << expr->getSourceRange();
+        return true;
+    }
+
+    bool preRun() override { return compiler.getLangOpts().CPlusPlus; }
+
+private:
+    void run() override
+    {
+        if (preRun())
+        {
+            TraverseDecl(compiler.getASTContext().getTranslationUnitDecl());
+        }
+    }
+
+    std::set<Decl const*> reportedAutomatic_;
+    std::set<Decl const*> reportedArray_;
+};
+
+static loplugin::Plugin::Registration<StringLiteralVar> 
reg("stringliteralvar");
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/compilerplugins/clang/test/stringliteralvar.cxx 
b/compilerplugins/clang/test/stringliteralvar.cxx
new file mode 100644
index 000000000000..25a85f90a5a3
--- /dev/null
+++ b/compilerplugins/clang/test/stringliteralvar.cxx
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <sal/config.h>
+
+#include <vector>
+
+#include <rtl/ustring.hxx>
+
+// expected-error@+1 {{change type of variable 'literal1' from constant 
character array ('const char [4]') to OStringLiteral 
[loplugin:stringliteralvar]}}
+char const literal1[] = "foo";
+OString f1()
+{
+    // expected-note@+1 {{first passed into a 'rtl::OString' constructor here 
[loplugin:stringliteralvar]}}
+    return literal1;
+}
+
+void f(OUString const&);
+void f2()
+{
+    // expected-error@+1 {{change type of variable 'literal' from constant 
character array ('const char [4]') to OUStringLiteral, and make it static 
[loplugin:stringliteralvar]}}
+    char const literal[] = "foo";
+    // expected-note@+1 {{first passed into a 'rtl::OUString' constructor here 
[loplugin:stringliteralvar]}}
+    f(literal);
+}
+
+struct S3
+{
+    // expected-error@+1 {{change type of variable 'literal' from constant 
character array ('const char16_t [4]') to OUStringLiteral 
[loplugin:stringliteralvar]}}
+    static constexpr char16_t literal[] = u"foo";
+};
+void f3()
+{
+    // expected-note@+1 {{first passed into a 'rtl::OUString' constructor here 
[loplugin:stringliteralvar]}}
+    f(S3::literal);
+}
+
+std::vector<OUString> f4()
+{
+    // expected-error@+1 {{change type of variable 'literal' from constant 
character array ('const char16_t [4]') to OUStringLiteral 
[loplugin:stringliteralvar]}}
+    static constexpr char16_t literal[] = u"foo";
+    // expected-note@+1 {{first passed into a 'rtl::OUString' constructor here 
[loplugin:stringliteralvar]}}
+    return { literal };
+}
+
+void f5()
+{
+    // expected-error@+1 {{variable 'literal' of type 'const 
rtl::OUStringLiteral<4>' with automatic storage duration most likely needs to 
be static [loplugin:stringliteralvar]}}
+    OUStringLiteral const literal = u"foo";
+    // expected-note@+1 {{first converted to 'rtl::OUString' here 
[loplugin:stringliteralvar]}}
+    f(literal);
+}
+
+void f6()
+{
+    // expected-error@+1 {{variable 'literal' of type 'const 
rtl::OUStringLiteral<4>' with automatic storage duration most likely needs to 
be static [loplugin:stringliteralvar]}}
+    constexpr OUStringLiteral literal = u"foo";
+    // expected-note@+1 {{first converted to 'rtl::OUString' here 
[loplugin:stringliteralvar]}}
+    f(literal);
+}
+
+void f7()
+{
+    static constexpr OUStringLiteral const literal = u"foo";
+    f(literal);
+}
+
+void f8()
+{
+    static constexpr OUStringLiteral const literal = u"foo";
+    // expected-error@+1 {{variable 'literal' of type 'const 
rtl::OUStringLiteral<4>' suspiciously used in a sizeof expression 
[loplugin:stringliteralvar]}}
+    (void)sizeof literal;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/configmgr/source/configurationprovider.cxx 
b/configmgr/source/configurationprovider.cxx
index d74019e6b05c..294791516862 100644
--- a/configmgr/source/configurationprovider.cxx
+++ b/configmgr/source/configurationprovider.cxx
@@ -60,10 +60,10 @@ namespace configmgr::configuration_provider {
 
 namespace {
 
-char const accessServiceName[] =
-    "com.sun.star.configuration.ConfigurationAccess";
-char const updateAccessServiceName[] =
-    "com.sun.star.configuration.ConfigurationUpdateAccess";
+OUStringLiteral const accessServiceName =
+    u"com.sun.star.configuration.ConfigurationAccess";
+OUStringLiteral const updateAccessServiceName =
+    u"com.sun.star.configuration.ConfigurationUpdateAccess";
 
 void badNodePath() {
     throw css::uno::Exception(
diff --git a/connectivity/source/commontools/conncleanup.cxx 
b/connectivity/source/commontools/conncleanup.cxx
index c33cc7289a65..f1d80581ff5a 100644
--- a/connectivity/source/commontools/conncleanup.cxx
+++ b/connectivity/source/commontools/conncleanup.cxx
@@ -35,7 +35,7 @@ namespace dbtools
     using namespace css::sdbc;
     using namespace css::lang;
 
-    const char ACTIVE_CONNECTION_PROPERTY_NAME[] = "ActiveConnection";
+    const OUStringLiteral ACTIVE_CONNECTION_PROPERTY_NAME = 
u"ActiveConnection";
 
     OAutoConnectionDisposer::OAutoConnectionDisposer(const Reference< XRowSet 
>& _rxRowSet, const Reference< XConnection >& _rxConnection)
         :m_xRowSet( _rxRowSet )
diff --git a/connectivity/source/commontools/dbtools2.cxx 
b/connectivity/source/commontools/dbtools2.cxx
index 59f7dd50136e..db6e81a7400a 100644
--- a/connectivity/source/commontools/dbtools2.cxx
+++ b/connectivity/source/commontools/dbtools2.cxx
@@ -1014,7 +1014,7 @@ bool isAggregateColumn( const Reference< XPropertySet > 
&_xColumn )
 {
     bool bAgg(false);
 
-    static const char sAgg[] = "AggregateFunction";
+    static const OUStringLiteral sAgg = u"AggregateFunction";
     if ( _xColumn->getPropertySetInfo()->hasPropertyByName(sAgg) )
         _xColumn->getPropertyValue(sAgg) >>= bAgg;
 
diff --git a/connectivity/source/cpool/ZConnectionPool.cxx 
b/connectivity/source/cpool/ZConnectionPool.cxx
index 7d05b6e0236b..c0b034814deb 100644
--- a/connectivity/source/cpool/ZConnectionPool.cxx
+++ b/connectivity/source/cpool/ZConnectionPool.cxx
@@ -41,7 +41,7 @@ void SAL_CALL OPoolTimer::onShot()
     m_pPool->invalidatePooledConnections();
 }
 
-const char TIMEOUT_NODENAME[] = "Timeout";
+const OUStringLiteral TIMEOUT_NODENAME = u"Timeout";
 
 OConnectionPool::OConnectionPool(const Reference< XDriver >& _xDriver,
                                  const Reference< XInterface >& _xDriverNode,
diff --git a/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx 
b/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx
index 4982cc455665..4c9446348681 100644
--- a/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx
+++ b/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx
@@ -40,7 +40,7 @@ OEvoabResultSetMetaData::~OEvoabResultSetMetaData()
 
 void OEvoabResultSetMetaData::setEvoabFields(const 
::rtl::Reference<connectivity::OSQLColumns> &xColumns)
 {
-        static const char aName[] = "Name";
+        static const OUStringLiteral aName = u"Name";
 
         for (const auto& rxColumn : *xColumns)
         {
diff --git a/connectivity/source/drivers/file/FDatabaseMetaData.cxx 
b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
index c965367dab0e..6a247ee8f41e 100644
--- a/connectivity/source/drivers/file/FDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
@@ -165,7 +165,7 @@ Reference< XResultSet > SAL_CALL 
ODatabaseMetaData::getTables(
     // check if any type is given
     // when no types are given then we have to return all tables e.g. TABLE
 
-    static const char aTable[] = "TABLE";
+    static const OUStringLiteral aTable = u"TABLE";
 
     bool bTableFound = true;
     sal_Int32 nLength = types.getLength();
diff --git a/connectivity/source/drivers/firebird/Driver.cxx 
b/connectivity/source/drivers/firebird/Driver.cxx
index 3ad9576c11fb..04c65ba06860 100644
--- a/connectivity/source/drivers/firebird/Driver.cxx
+++ b/connectivity/source/drivers/firebird/Driver.cxx
@@ -45,9 +45,9 @@ using namespace connectivity::firebird;
 
 // Static const variables
 namespace {
-const char our_sFirebirdTmpVar[] = "FIREBIRD_TMP";
-const char our_sFirebirdLockVar[] = "FIREBIRD_LOCK";
-const char our_sFirebirdMsgVar[] = "FIREBIRD_MSG";
+const OUStringLiteral our_sFirebirdTmpVar = u"FIREBIRD_TMP";
+const OUStringLiteral our_sFirebirdLockVar = u"FIREBIRD_LOCK";
+const OUStringLiteral our_sFirebirdMsgVar = u"FIREBIRD_MSG";
 #ifdef MACOSX
 const char our_sFirebirdLibVar[] = "LIBREOFFICE_FIREBIRD_LIB";
 #endif
diff --git a/connectivity/source/drivers/jdbc/JConnection.cxx 
b/connectivity/source/drivers/jdbc/JConnection.cxx
index 1d33f2941316..cf0b549b11aa 100644
--- a/connectivity/source/drivers/jdbc/JConnection.cxx
+++ b/connectivity/source/drivers/jdbc/JConnection.cxx
@@ -699,7 +699,8 @@ void java_sql_Connection::loadDriverFromProperties( const 
OUString& _sDriverClas
 
 OUString java_sql_Connection::impl_getJavaDriverClassPath_nothrow(const 
OUString& _sDriverClass)
 {
-    static const char s_sNodeName[] = 
"org.openoffice.Office.DataAccess/JDBC/DriverClassPaths";
+    static const OUStringLiteral s_sNodeName
+        = u"org.openoffice.Office.DataAccess/JDBC/DriverClassPaths";
     ::utl::OConfigurationTreeRoot aNamesRoot = 
::utl::OConfigurationTreeRoot::createWithComponentContext(
         m_pDriver->getContext(), s_sNodeName, -1, 
::utl::OConfigurationTreeRoot::CM_READONLY);
     OUString sURL;
diff --git a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx 
b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
index a47758f31a5d..28cb14faa981 100644
--- a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
@@ -1090,8 +1090,9 @@ void ODatabaseMetaDataResultSet::openSpecialColumns(bool 
_bRowVer,const Any& cat
     // E.g. psqlodbc up to at least version 09.01.0100 segfaults
     if (table.empty())
     {
-        const char errMsg[] = "ODBC: Trying to get special columns of empty 
table name";
-        const char SQLState[] = "HY009";
+        static const OUStringLiteral errMsg
+            = u"ODBC: Trying to get special columns of empty table name";
+        static const OUStringLiteral SQLState = u"HY009";
         throw SQLException( errMsg, *this, SQLState, -1, Any() );
     }
 
diff --git a/connectivity/source/parse/sqliterator.cxx 
b/connectivity/source/parse/sqliterator.cxx
index d7d7512b7acd..9f860327757c 100644
--- a/connectivity/source/parse/sqliterator.cxx
+++ b/connectivity/source/parse/sqliterator.cxx
@@ -264,7 +264,7 @@ namespace
     {
         OUString sComposedName;
 
-        static const char s_sWildcard[] = "%" ;
+        static const OUStringLiteral s_sWildcard = u"%" ;
 
         // we want all catalogues, all schemas, all tables
         Sequence< OUString > sTableTypes(3);
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index 014c8b09f328..e7aa9c83f29d 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -65,9 +65,9 @@
 
 using namespace css;
 
-const char FOLDERNAME_UICONFIG[] = "Configurations2";
+const OUStringLiteral FOLDERNAME_UICONFIG = u"Configurations2";
 
-const char MEDIATYPE_PROPNAME[] = "MediaType";
+const OUStringLiteral MEDIATYPE_PROPNAME = u"MediaType";
 
 const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
                                      KEY_F2,
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index f694f26fd6bc..e538bc25bcee 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -74,7 +74,7 @@ const char CMDURL_STYLEPROT_ONLY[] = ".uno:StyleApply?";
 const char CMDURL_SPART_ONLY    [] = "Style:string=";
 const char CMDURL_FPART_ONLY    [] = "FamilyName:string=";
 
-const char STYLEPROP_UINAME[] = "DisplayName";
+const OUStringLiteral STYLEPROP_UINAME = u"DisplayName";
 
 OUString SfxStylesInfo_Impl::generateCommand(const OUString& sFamily, const 
OUString& sStyle)
 {
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index 116dac39f0a6..76abb324b583 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -709,7 +709,7 @@ void TPGalleryThemeProperties::FillFilterList()
 
 #if HAVE_FEATURE_AVMEDIA
     // media filters
-    static const char aWildcard[] = "*.";
+    static const OUStringLiteral aWildcard = u"*.";
     ::avmedia::FilterNameVector     aFilters= 
::avmedia::MediaWindow::getMediaFilters();
 
     for(const std::pair<OUString,OUString> & aFilter : aFilters)
diff --git a/cui/source/dialogs/hlinettp.cxx b/cui/source/dialogs/hlinettp.cxx
index 140d2a59da3b..9c938e40ae66 100644
--- a/cui/source/dialogs/hlinettp.cxx
+++ b/cui/source/dialogs/hlinettp.cxx
@@ -23,7 +23,7 @@
 #include <hlinettp.hxx>
 #include <hlmarkwn_def.hxx>
 
-char const sAnonymous[]    = "anonymous";
+OUStringLiteral const sAnonymous = u"anonymous";
 char const sFTPScheme[]    = INET_FTP_SCHEME;
 
 /*************************************************************************
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index 0bc2085178d2..4fd7fb801ebc 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -42,18 +42,18 @@
 #define notebookbarTabScope "notebookbarTabScope"
 
 const char ITEM_DESCRIPTOR_COMMANDURL[]  = "CommandURL";
-const char ITEM_DESCRIPTOR_CONTAINER[]   = "ItemDescriptorContainer";
+inline const OUStringLiteral ITEM_DESCRIPTOR_CONTAINER = 
u"ItemDescriptorContainer";
 const char ITEM_DESCRIPTOR_LABEL[]       = "Label";
 const char ITEM_DESCRIPTOR_TYPE[]        = "Type";
 const char ITEM_DESCRIPTOR_STYLE[]       = "Style";
 const char ITEM_DESCRIPTOR_ISVISIBLE[]   = "IsVisible";
 const char ITEM_DESCRIPTOR_RESOURCEURL[] = "ResourceURL";
-const char ITEM_DESCRIPTOR_UINAME[]      = "UIName";
+inline const OUStringLiteral ITEM_DESCRIPTOR_UINAME = u"UIName";
 
-const char ITEM_MENUBAR_URL[] = "private:resource/menubar/menubar";
+inline const OUStringLiteral ITEM_MENUBAR_URL = 
u"private:resource/menubar/menubar";
 constexpr char16_t ITEM_TOOLBAR_URL[] = u"private:resource/toolbar/";
 
-const char CUSTOM_TOOLBAR_STR[] = "custom_toolbar_";
+inline const OUStringLiteral CUSTOM_TOOLBAR_STR = u"custom_toolbar_";
 
 const char aMenuSeparatorStr[] = " | ";
 
diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx
index 1daf56dbb64b..c16a533bbf9e 100644
--- a/cui/source/options/optasian.cxx
+++ b/cui/source/options/optasian.cxx
@@ -43,8 +43,8 @@ using namespace com::sun::star::i18n;
 using namespace com::sun::star::frame;
 using namespace com::sun::star::beans;
 
-const char cIsKernAsianPunctuation[] = "IsKernAsianPunctuation";
-const char cCharacterCompressionType[] = "CharacterCompressionType";
+const OUStringLiteral cIsKernAsianPunctuation = u"IsKernAsianPunctuation";
+const OUStringLiteral cCharacterCompressionType = u"CharacterCompressionType";
 
 namespace {
 
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index a1b820b93585..21d46a879e36 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1019,11 +1019,11 @@ struct LanguageConfig_Impl
 static bool bLanguageCurrentDoc_Impl = false;
 
 // some things we'll need...
-const char sAccessSrvc[] = "com.sun.star.configuration.ConfigurationAccess";
-const char sAccessUpdSrvc[] = 
"com.sun.star.configuration.ConfigurationUpdateAccess";
-const char sInstalledLocalesPath[] = 
"org.openoffice.Setup/Office/InstalledLocales";
-const char sUserLocalePath[] = "org.openoffice.Office.Linguistic/General";
-const char sUserLocaleKey[] = "UILocale";
+const OUStringLiteral sAccessSrvc = 
u"com.sun.star.configuration.ConfigurationAccess";
+const OUStringLiteral sAccessUpdSrvc = 
u"com.sun.star.configuration.ConfigurationUpdateAccess";
+const OUStringLiteral sInstalledLocalesPath = 
u"org.openoffice.Setup/Office/InstalledLocales";
+const OUStringLiteral sUserLocalePath = 
u"org.openoffice.Office.Linguistic/General";
+const OUStringLiteral sUserLocaleKey = u"UILocale";
 static Sequence< OUString > seqInstalledLanguages;
 
 static OUString lcl_getDatePatternsConfigString( const LocaleDataWrapper& 
rLocaleWrapper )
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index 3f7bad1d804a..5e2df9189d7a 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -93,14 +93,14 @@ IMPL_LINK(SvxProxyTabPage, PortChangedHdl, weld::Entry&, 
rEdit, void)
     }
 }
 
-const char g_aProxyModePN[] = "ooInetProxyType";
-const char g_aHttpProxyPN[] = "ooInetHTTPProxyName";
-const char g_aHttpPortPN[] = "ooInetHTTPProxyPort";
-const char g_aHttpsProxyPN[] = "ooInetHTTPSProxyName";
-const char g_aHttpsPortPN[] = "ooInetHTTPSProxyPort";
-const char g_aFtpProxyPN[] = "ooInetFTPProxyName";
-const char g_aFtpPortPN[] = "ooInetFTPProxyPort";
-const char g_aNoProxyDescPN[] = "ooInetNoProxy";
+const OUStringLiteral g_aProxyModePN = u"ooInetProxyType";
+const OUStringLiteral g_aHttpProxyPN = u"ooInetHTTPProxyName";
+const OUStringLiteral g_aHttpPortPN = u"ooInetHTTPProxyPort";
+const OUStringLiteral g_aHttpsProxyPN = u"ooInetHTTPSProxyName";
+const OUStringLiteral g_aHttpsPortPN = u"ooInetHTTPSProxyPort";
+const OUStringLiteral g_aFtpProxyPN = u"ooInetFTPProxyName";
+const OUStringLiteral g_aFtpPortPN = u"ooInetFTPProxyPort";
+const OUStringLiteral g_aNoProxyDescPN = u"ooInetNoProxy";
 
 IMPL_STATIC_LINK(SvxProxyTabPage, NumberOnlyTextFilterHdl, OUString&, rTest, 
bool)
 {
diff --git a/dbaccess/qa/unit/embeddeddb_performancetest.cxx 
b/dbaccess/qa/unit/embeddeddb_performancetest.cxx
index 0517a9fd170c..abd72db66fe4 100644
--- a/dbaccess/qa/unit/embeddeddb_performancetest.cxx
+++ b/dbaccess/qa/unit/embeddeddb_performancetest.cxx
@@ -82,7 +82,8 @@ class EmbeddedDBPerformanceTest
     : public DBTestBase
 {
 private:
-    static const char our_sEnableTestEnvVar[];
+    static constexpr OUStringLiteral our_sEnableTestEnvVar = u"DBA_PERFTEST";
+
 
     // We store the results and print them at the end due to the amount of 
warning
     // noise present which otherwise obscures the results.
@@ -140,8 +141,6 @@ void EmbeddedDBPerformanceTest::printTimes(
         .append("\n");
 }
 
-const char EmbeddedDBPerformanceTest::our_sEnableTestEnvVar[] = "DBA_PERFTEST";
-
 // TODO: we probably should create a document from scratch instead?
 
 void EmbeddedDBPerformanceTest::testPerformance()
diff --git a/dbaccess/source/core/api/FilteredContainer.cxx 
b/dbaccess/source/core/api/FilteredContainer.cxx
index 0e8b2926c37e..74b522a4b459 100644
--- a/dbaccess/source/core/api/FilteredContainer.cxx
+++ b/dbaccess/source/core/api/FilteredContainer.cxx
@@ -343,7 +343,7 @@ static sal_Int32 createWildCardVector(Sequence< OUString >& 
_rTableFilter, std::
                 }
             }
 
-            static const char sAll[] = "%";
+            static const OUStringLiteral sAll = u"%";
             Reference< XResultSet > xTables = m_xMetaData->getTables( Any(), 
sAll, sAll, aTableTypeFilter );
             Reference< XRow > xCurrentRow( xTables, UNO_QUERY_THROW );
 
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx 
b/dbaccess/source/core/dataaccess/databasedocument.cxx
index cf6753794800..b5a789fad212 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -311,7 +311,7 @@ namespace
     }
 }
 
-const char sPictures[] = "Pictures";
+const OUStringLiteral sPictures = u"Pictures";
 
 // base documents seem to have a different behaviour to other documents, the
 // root storage contents at least seem to be re-used over different saves, 
thus if there is a
diff --git a/dbaccess/source/core/dataaccess/datasource.cxx 
b/dbaccess/source/core/dataaccess/datasource.cxx
index 891df4de9dc8..206b8e490e6e 100644
--- a/dbaccess/source/core/dataaccess/datasource.cxx
+++ b/dbaccess/source/core/dataaccess/datasource.cxx
@@ -644,7 +644,7 @@ Reference< XConnection > 
ODatabaseSource::buildLowLevelConnection(const OUString
         if (bNeedMigration)
         {
             // back up content xml file if migration was successful
-            constexpr char BACKUP_XML_NAME[] = "content_before_migration.xml";
+            static constexpr OUStringLiteral BACKUP_XML_NAME = 
u"content_before_migration.xml";
             try
             {
                 if(xRootStorage->isStreamElement(BACKUP_XML_NAME))
diff --git a/dbaccess/source/core/misc/DatabaseDataProvider.cxx 
b/dbaccess/source/core/misc/DatabaseDataProvider.cxx
index b6366e4482fb..f317bd474c38 100644
--- a/dbaccess/source/core/misc/DatabaseDataProvider.cxx
+++ b/dbaccess/source/core/misc/DatabaseDataProvider.cxx
@@ -266,7 +266,7 @@ uno::Reference< chart2::data::XDataSequence > SAL_CALL 
DatabaseDataProvider::cre
     osl::MutexGuard g(m_aMutex);
     uno::Reference< chart2::data::XDataSequence > xData = 
m_xInternal->createDataSequenceByRangeRepresentation(_sRangeRepresentation);
     uno::Reference<beans::XPropertySet> xProp(xData,uno::UNO_QUERY);
-    static const char s_sNumberFormatKey[] = "NumberFormatKey";
+    static const OUStringLiteral s_sNumberFormatKey = u"NumberFormatKey";
     if ( xProp.is() && 
xProp->getPropertySetInfo()->hasPropertyByName(s_sNumberFormatKey) )
     {
         
xProp->setPropertyValue(s_sNumberFormatKey,impl_getNumberFormatKey_nothrow(_sRangeRepresentation));
diff --git a/dbaccess/source/core/recovery/dbdocrecovery.cxx 
b/dbaccess/source/core/recovery/dbdocrecovery.cxx
index ab5947d91261..d111aa86b6cf 100644
--- a/dbaccess/source/core/recovery/dbdocrecovery.cxx
+++ b/dbaccess/source/core/recovery/dbdocrecovery.cxx
@@ -86,9 +86,9 @@ namespace dbaccess
             return true;
         }
 
-        const char sRecoveryDataSubStorageName[] = "recovery";
+        const OUStringLiteral sRecoveryDataSubStorageName = u"recovery";
 
-        const char sObjectMapStreamName[] = "storage-component-map.ini";
+        const OUStringLiteral sObjectMapStreamName = 
u"storage-component-map.ini";
 
         void lcl_writeObjectMap_throw( const Reference<XComponentContext> & 
i_rContext, const Reference< XStorage >& i_rStorage,
             const MapStringToCompDesc& i_mapStorageToCompDesc )
diff --git a/dbaccess/source/core/recovery/storagetextstream.cxx 
b/dbaccess/source/core/recovery/storagetextstream.cxx
index 6ea4ef005320..1dd774bc8a31 100644
--- a/dbaccess/source/core/recovery/storagetextstream.cxx
+++ b/dbaccess/source/core/recovery/storagetextstream.cxx
@@ -36,7 +36,7 @@ namespace dbaccess
         Reference< XTextOutputStream2 >  xTextOutput;
     };
 
-    const char sLineFeed[] = "\n";
+    const OUStringLiteral sLineFeed = u"\n";
 
     // StorageTextOutputStream
     StorageTextOutputStream::StorageTextOutputStream(   const 
Reference<XComponentContext>& i_rContext,
diff --git a/dbaccess/source/core/recovery/subcomponentrecovery.cxx 
b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
index ab16ee9e2c04..11dfa49d17ad 100644
--- a/dbaccess/source/core/recovery/subcomponentrecovery.cxx
+++ b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
@@ -160,8 +160,8 @@ namespace dbaccess
             return xCommandProcessor;
         }
 
-        const char sSettingsStreamName[] = "settings.xml";
-        const char sCurrentQueryDesignName[] = "ooo:current-query-design";
+        const OUStringLiteral sSettingsStreamName = u"settings.xml";
+        const OUStringLiteral sCurrentQueryDesignName = 
u"ooo:current-query-design";
     }
 
     namespace {
diff --git a/dbaccess/source/filter/hsqldb/hsqlimport.cxx 
b/dbaccess/source/filter/hsqldb/hsqlimport.cxx
index a017d8dfa12e..f24ceb6f2ff0 100644
--- a/dbaccess/source/filter/hsqldb/hsqlimport.cxx
+++ b/dbaccess/source/filter/hsqldb/hsqlimport.cxx
@@ -266,7 +266,7 @@ void HsqlImporter::parseTableRows(const 
std::vector<sal_Int32>& rIndexes,
                                   const std::vector<ColumnDefinition>& 
rColTypes,
                                   const OUString& sTableName)
 {
-    constexpr char BINARY_FILENAME[] = "data";
+    static constexpr OUStringLiteral BINARY_FILENAME = u"data";
 
     if (!m_xStorage->hasByName(BINARY_FILENAME))
     {
diff --git a/dbaccess/source/filter/hsqldb/parseschema.cxx 
b/dbaccess/source/filter/hsqldb/parseschema.cxx
index 6dfc59778bf0..e1d794cdca8b 100644
--- a/dbaccess/source/filter/hsqldb/parseschema.cxx
+++ b/dbaccess/source/filter/hsqldb/parseschema.cxx
@@ -111,7 +111,7 @@ void SchemaParser::parseSchema()
 {
     assert(m_rStorage);
 
-    constexpr char SCHEMA_FILENAME[] = "script";
+    static constexpr OUStringLiteral SCHEMA_FILENAME = u"script";
     if (!m_rStorage->hasByName(SCHEMA_FILENAME))
     {
         SAL_WARN("dbaccess", "script file does not exist in storage during 
hsqldb import");
@@ -175,7 +175,8 @@ std::vector<ColumnDefinition> 
SchemaParser::getTableColumnTypes(const OUString&
 {
     if (m_ColumnTypes.count(sTableName) < 1)
     {
-        constexpr char NOT_EXIST[] = "Internal error while getting column 
information of table";
+        static constexpr OUStringLiteral NOT_EXIST
+            = u"Internal error while getting column information of table";
         SAL_WARN("dbaccess", NOT_EXIST << ". Table name is: " << sTableName);
         dbtools::throwGenericSQLException(NOT_EXIST, 
::comphelper::getProcessComponentContext());
     }
diff --git a/dbaccess/source/filter/hsqldb/utils.cxx 
b/dbaccess/source/filter/hsqldb/utils.cxx
index f2b2b517b8fc..041df17a700a 100644
--- a/dbaccess/source/filter/hsqldb/utils.cxx
+++ b/dbaccess/source/filter/hsqldb/utils.cxx
@@ -129,9 +129,10 @@ void utils::ensureFirebirdTableLength(const OUString& 
sName)
 {
     if (sName.getLength() > 30) // Firebird limitation
     {
-        constexpr char NAME_TOO_LONG[] = "Firebird 3 doesn't support object 
(table, field) names "
-                                         "of  more than 30 characters; please 
shorten your object "
-                                         "names in the original file and try 
again.";
+        static constexpr OUStringLiteral NAME_TOO_LONG
+            = u"Firebird 3 doesn't support object (table, field) names "
+              "of  more than 30 characters; please shorten your object "
+              "names in the original file and try again.";
         dbtools::throwGenericSQLException(NAME_TOO_LONG,
                                           
::comphelper::getProcessComponentContext());
     }
diff --git a/dbaccess/source/ui/app/AppController.cxx 
b/dbaccess/source/ui/app/AppController.cxx
index 987536261316..d75d557615a2 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -674,7 +674,7 @@ FeatureState OApplicationController::GetState(sal_uInt16 
_nId) const
                         aReturn.bEnabled = xEnumAccess.is();
                         if ( aReturn.bEnabled )
                         {
-                            static const char s_sReportDesign[] = 
"org.libreoffice.report.pentaho.SOReportJobFactory";
+                            static const OUStringLiteral s_sReportDesign = 
u"org.libreoffice.report.pentaho.SOReportJobFactory";
                             Reference< XEnumeration > xEnumDrivers = 
xEnumAccess->createContentEnumeration(s_sReportDesign);
                             aReturn.bEnabled = xEnumDrivers.is() && 
xEnumDrivers->hasMoreElements();
                         }
diff --git a/dbaccess/source/ui/app/AppControllerGen.cxx 
b/dbaccess/source/ui/app/AppControllerGen.cxx
index 1d7019a81b29..0ce728d7fa2a 100644
--- a/dbaccess/source/ui/app/AppControllerGen.cxx
+++ b/dbaccess/source/ui/app/AppControllerGen.cxx
@@ -639,7 +639,7 @@ void OApplicationController::onLoadedMenu(const Reference< 
css::frame::XLayoutMa
     if ( !_xLayoutManager.is() )
         return;
 
-    static const char s_sStatusbar[] = "private:resource/statusbar/statusbar";
+    static const OUStringLiteral s_sStatusbar = 
u"private:resource/statusbar/statusbar";
     _xLayoutManager->createElement( s_sStatusbar );
     _xLayoutManager->requestElement( s_sStatusbar );
 
diff --git a/dbaccess/source/ui/dlg/queryfilter.cxx 
b/dbaccess/source/ui/dlg/queryfilter.cxx
index 67df2db8ccdf..da4d61641936 100644
--- a/dbaccess/source/ui/dlg/queryfilter.cxx
+++ b/dbaccess/source/ui/dlg/queryfilter.cxx
@@ -304,10 +304,10 @@ bool DlgFilterCrit::getCondition(const weld::ComboBox& 
_rField,const weld::Combo
                     }
                 }
                 xColumn->getPropertyValue(PROPERTY_REALNAME)    >>= 
_rFilter.Name;
-                static const char sAgg[] = "AggregateFunction";
+                static const OUStringLiteral sAgg = u"AggregateFunction";
                 if ( xInfo->hasPropertyByName(sAgg) )
                     xColumn->getPropertyValue(sAgg) >>= bHaving;
-                static const char sFunction[] = "Function";
+                static const OUStringLiteral sFunction = u"Function";
                 if ( xInfo->hasPropertyByName(sFunction) )
                     xColumn->getPropertyValue(sFunction) >>= bFunction;
             }
diff --git a/dbaccess/source/ui/misc/indexcollection.cxx 
b/dbaccess/source/ui/misc/indexcollection.cxx
index fb83377f1740..046a41a000ea 100644
--- a/dbaccess/source/ui/misc/indexcollection.cxx
+++ b/dbaccess/source/ui/misc/indexcollection.cxx
@@ -122,7 +122,7 @@ namespace dbaui
             }
 
             // set the properties
-            static const char s_sNamePropertyName[] = "Name";
+            static const OUStringLiteral s_sNamePropertyName = u"Name";
             // the index' own props
             xIndexDescriptor->setPropertyValue("IsUnique", 
css::uno::makeAny(_rPos->bUnique));
             xIndexDescriptor->setPropertyValue(s_sNamePropertyName, 
makeAny(_rPos->sName));
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx 
b/dbaccess/source/ui/querydesign/querycontroller.cxx
index 6a77aa548855..5bab3d26f30b 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -149,8 +149,8 @@ namespace
             return;
 
         xLayoutManager->lock();
-        static const char s_sDesignToolbar[] = 
"private:resource/toolbar/designobjectbar";
-        static const char s_sSqlToolbar[] = 
"private:resource/toolbar/sqlobjectbar";
+        static const OUStringLiteral s_sDesignToolbar = 
u"private:resource/toolbar/designobjectbar";
+        static const OUStringLiteral s_sSqlToolbar = 
u"private:resource/toolbar/sqlobjectbar";
         if ( _bDesign )
         {
             xLayoutManager->destroyElement( s_sSqlToolbar );
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 112be4caf94d..596e83b14ebf 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -560,7 +560,7 @@ bool Desktop::QueryExit()
     {
     }
 
-    const char SUSPEND_QUICKSTARTVETO[] = "SuspendQuickstartVeto";
+    static const OUStringLiteral SUSPEND_QUICKSTARTVETO = 
u"SuspendQuickstartVeto";
 
     Reference< XDesktop2 > xDesktop = css::frame::Desktop::create( 
::comphelper::getProcessComponentContext() );
     Reference< XPropertySet > xPropertySet(xDesktop, UNO_QUERY_THROW);
@@ -872,7 +872,7 @@ namespace {
 #if HAVE_FEATURE_BREAKPAD
 void handleCrashReport()
 {
-    static const char SERVICENAME_CRASHREPORT[] = 
"com.sun.star.comp.svx.CrashReportUI";
+    static const OUStringLiteral SERVICENAME_CRASHREPORT = 
u"com.sun.star.comp.svx.CrashReportUI";
 
     css::uno::Reference< css::uno::XComponentContext > xContext = 
::comphelper::getProcessComponentContext();
 
diff --git a/desktop/source/app/check_ext_deps.cxx 
b/desktop/source/app/check_ext_deps.cxx
index 8af149f1f93b..2e667e0ad64c 100644
--- a/desktop/source/app/check_ext_deps.cxx
+++ b/desktop/source/app/check_ext_deps.cxx
@@ -207,7 +207,7 @@ void SilentCommandEnv::pop()
 } // end namespace
 
 
-const char aAccessSrvc[] = 
"com.sun.star.configuration.ConfigurationUpdateAccess";
+const OUStringLiteral aAccessSrvc = 
u"com.sun.star.configuration.ConfigurationUpdateAccess";
 
 static sal_Int16 impl_showExtensionDialog( uno::Reference< 
uno::XComponentContext > const &xContext )
 {
diff --git a/desktop/source/app/cmdlinehelp.cxx 
b/desktop/source/app/cmdlinehelp.cxx
index 1d7fe7613be7..03e45b7278c0 100644
--- a/desktop/source/app/cmdlinehelp.cxx
+++ b/desktop/source/app/cmdlinehelp.cxx
@@ -35,11 +35,11 @@
 
 namespace desktop
 {
-    const char aCmdLineHelp_version[] =
-        "%PRODUCTNAME %PRODUCTVERSION%PRODUCTEXTENSION %BUILDID\n"
+    const OUStringLiteral aCmdLineHelp_version =
+        u"%PRODUCTNAME %PRODUCTVERSION%PRODUCTEXTENSION %BUILDID\n"
         "\n";
-    const char aCmdLineHelp[] =
-        "Usage: %CMDNAME [argument...]\n"
+    const OUStringLiteral aCmdLineHelp =
+        u"Usage: %CMDNAME [argument...]\n"
         "       argument - switches, switch parameters and document URIs 
(filenames).   \n\n"
         "Using without special arguments:                                      
         \n"
         "Opens the start center, if it is used without any arguments.          
         \n"
diff --git a/desktop/source/deployment/misc/dp_dependencies.cxx 
b/desktop/source/deployment/misc/dp_dependencies.cxx
index eae5ca5cb7d8..732778e2bbd1 100644
--- a/desktop/source/deployment/misc/dp_dependencies.cxx
+++ b/desktop/source/deployment/misc/dp_dependencies.cxx
@@ -43,14 +43,14 @@ namespace {
 char const namespaceLibreOffice[] =
     "http://libreoffice.org/extensions/description/2011";;
 
-char const namespaceOpenOfficeOrg[] =
-    "http://openoffice.org/extensions/description/2006";;
+OUStringLiteral const namespaceOpenOfficeOrg =
+    u"http://openoffice.org/extensions/description/2006";;
 
 char const minimalVersionLibreOffice[] = "LibreOffice-minimal-version";
 char const maximalVersionLibreOffice[] = "LibreOffice-maximal-version";
 
-char const minimalVersionOpenOfficeOrg[] =
-    "OpenOffice.org-minimal-version";
+OUStringLiteral const minimalVersionOpenOfficeOrg =
+    u"OpenOffice.org-minimal-version";
 
 char const maximalVersionOpenOfficeOrg[] =
     "OpenOffice.org-maximal-version";
diff --git a/desktop/source/migration/migration.cxx 
b/desktop/source/migration/migration.cxx
index 1637a9d63ade..4955c279ec32 100644
--- a/desktop/source/migration/migration.cxx
+++ b/desktop/source/migration/migration.cxx
@@ -69,9 +69,9 @@ using namespace com::sun::star;
 namespace desktop
 {
 
-const char ITEM_DESCRIPTOR_COMMANDURL[] = "CommandURL";
-const char ITEM_DESCRIPTOR_CONTAINER[] = "ItemDescriptorContainer";
-const char ITEM_DESCRIPTOR_LABEL[] = "Label";
+const OUStringLiteral ITEM_DESCRIPTOR_COMMANDURL = u"CommandURL";
+const OUStringLiteral ITEM_DESCRIPTOR_CONTAINER = u"ItemDescriptorContainer";
+const OUStringLiteral ITEM_DESCRIPTOR_LABEL = u"Label";
 
 static OUString mapModuleShortNameToIdentifier(std::u16string_view sShortName)
 {
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 3b9da426dc64..d04247c397f2 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -95,9 +95,9 @@ namespace o3tl {
 }
 const sal_Unicode cNonBreakingSpace = 0xA0; // UNICODE code for no break space
 
-const char pXMLImplWrdStt_ExcptLstStr[] = "WordExceptList.xml";
-const char pXMLImplCplStt_ExcptLstStr[] = "SentenceExceptList.xml";
-const char pXMLImplAutocorr_ListStr[]   = "DocumentList.xml";
+const OUStringLiteral pXMLImplWrdStt_ExcptLstStr = u"WordExceptList.xml";
+const OUStringLiteral pXMLImplCplStt_ExcptLstStr = u"SentenceExceptList.xml";
+const OUStringLiteral pXMLImplAutocorr_ListStr = u"DocumentList.xml";
 
 const char
     /* also at these beginnings - Brackets and all kinds of begin characters */
diff --git a/extensions/source/abpilot/admininvokationimpl.cxx 
b/extensions/source/abpilot/admininvokationimpl.cxx
index fe208e85b3ec..720ef26fb90c 100644
--- a/extensions/source/abpilot/admininvokationimpl.cxx
+++ b/extensions/source/abpilot/admininvokationimpl.cxx
@@ -62,7 +62,7 @@ namespace abp
         {
             // the service name of the administration dialog
             static const char16_t s_sAdministrationServiceName[] = 
u"com.sun.star.sdb.DatasourceAdministrationDialog";
-            static const char s_sDataSourceTypeChangeDialog[] = 
"com.sun.star.sdb.DataSourceTypeChangeDialog";
+            static const OUStringLiteral s_sDataSourceTypeChangeDialog = 
u"com.sun.star.sdb.DataSourceTypeChangeDialog";
 
             // the parameters for the call
             Sequence<Any> aArguments(comphelper::InitAnyPropertySequence(
diff --git a/extensions/source/abpilot/fieldmappingimpl.cxx 
b/extensions/source/abpilot/fieldmappingimpl.cxx
index 7a72f8475c4b..34d860cf3f49 100644
--- a/extensions/source/abpilot/fieldmappingimpl.cxx
+++ b/extensions/source/abpilot/fieldmappingimpl.cxx
@@ -50,7 +50,7 @@ namespace abp
 
 
     const char16_t sDriverSettingsNodeName[] = 
u"/org.openoffice.Office.DataAccess/DriverSettings/com.sun.star.comp.sdbc.MozabDriver";
-    const char sAddressBookNodeName[] = 
"/org.openoffice.Office.DataAccess/AddressBook";
+    const OUStringLiteral sAddressBookNodeName = 
u"/org.openoffice.Office.DataAccess/AddressBook";
 
     namespace fieldmapping
     {
diff --git a/extensions/source/bibliography/bibconfig.cxx 
b/extensions/source/bibliography/bibconfig.cxx
index ee271f4cc898..f5a68212922d 100644
--- a/extensions/source/bibliography/bibconfig.cxx
+++ b/extensions/source/bibliography/bibconfig.cxx
@@ -33,7 +33,7 @@ using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::sdb;
 
 
-constexpr char16_t cDataSourceHistory[] = u"DataSourceHistory";
+constexpr OUStringLiteral cDataSourceHistory = u"DataSourceHistory";
 
 Sequence<OUString> const & BibConfig::GetPropertyNames()
 {
diff --git a/extensions/source/dbpilots/gridwizard.cxx 
b/extensions/source/dbpilots/gridwizard.cxx
index 478a7b34ab51..43d6054cdfa3 100644
--- a/extensions/source/dbpilots/gridwizard.cxx
+++ b/extensions/source/dbpilots/gridwizard.cxx
@@ -93,8 +93,8 @@ namespace dbp
         if (!xColumnFactory.is() || !xColumnContainer.is())
             return;
 
-        static const char s_sMouseWheelBehavior[] = "MouseWheelBehavior";
-        static const char s_sEmptyString[] = "";
+        static const OUStringLiteral s_sMouseWheelBehavior = 
u"MouseWheelBehavior";
+        static const OUStringLiteral s_sEmptyString = u"";
 
         // collect "descriptors" for the to-be-created (grid)columns
         std::vector< OUString > aColumnServiceNames;  // service names to be 
used with the XGridColumnFactory
diff --git a/extensions/source/dbpilots/optiongrouplayouter.cxx 
b/extensions/source/dbpilots/optiongrouplayouter.cxx
index 546fa9ca7a7d..bfd14727cfb1 100644
--- a/extensions/source/dbpilots/optiongrouplayouter.cxx
+++ b/extensions/source/dbpilots/optiongrouplayouter.cxx
@@ -189,7 +189,7 @@ namespace dbp
 
     void OOptionGroupLayouter::implAnchorShape(const Reference< XPropertySet 
>& _rxShapeProps)
     {
-        static const char s_sAnchorPropertyName[] = "AnchorType";
+        static const OUStringLiteral s_sAnchorPropertyName = u"AnchorType";
         Reference< XPropertySetInfo > xPropertyInfo;
         if (_rxShapeProps.is())
             xPropertyInfo = _rxShapeProps->getPropertySetInfo();
diff --git a/filter/qa/unit/svg.cxx b/filter/qa/unit/svg.cxx
index 792964cb00d9..d870307a1c4d 100644
--- a/filter/qa/unit/svg.cxx
+++ b/filter/qa/unit/svg.cxx
@@ -20,7 +20,7 @@
 
 using namespace ::com::sun::star;
 
-char const DATA_DIRECTORY[] = "/filter/qa/unit/data/";
+OUStringLiteral const DATA_DIRECTORY = u"/filter/qa/unit/data/";
 
 /// SVG filter tests.
 class SvgFilterTest : public test::BootstrapFixture, public 
unotest::MacrosTest, public XmlTestTools
diff --git a/filter/qa/unit/textfilterdetect.cxx 
b/filter/qa/unit/textfilterdetect.cxx
index fb1ff1d2ac7e..1efbebc47b93 100644
--- a/filter/qa/unit/textfilterdetect.cxx
+++ b/filter/qa/unit/textfilterdetect.cxx
@@ -54,7 +54,7 @@ void TextFilterDetectTest::tearDown()
     test::BootstrapFixture::tearDown();
 }
 
-char const DATA_DIRECTORY[] = "/filter/qa/unit/data/";
+OUStringLiteral const DATA_DIRECTORY = u"/filter/qa/unit/data/";
 
 CPPUNIT_TEST_FIXTURE(TextFilterDetectTest, testTdf114428)
 {
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index bcf97a8b0678..a77457687076 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -83,7 +83,7 @@ using namespace ::xmloff::token;
 #define SVG_PROP_POSITIONED_CHARACTERS      "UsePositionedCharacters"
 
 // ooo xml elements
-constexpr char16_t aOOOElemTextField[] = u"" NSPREFIX "text_field";
+constexpr OUStringLiteral aOOOElemTextField = u"" NSPREFIX "text_field";
 
 
 // ooo xml attributes for meta_slide
@@ -93,13 +93,13 @@ const char    aOOOAttrBackgroundVisibility[] = NSPREFIX 
"background-visibility";
 const char    aOOOAttrMasterObjectsVisibility[] = NSPREFIX 
"master-objects-visibility";
 const char    aOOOAttrSlideDuration[] = NSPREFIX "slide-duration";
 const OUString aOOOAttrDateTimeField = NSPREFIX "date-time-field";
-const char    aOOOAttrFooterField[] = NSPREFIX "footer-field";
+const OUStringLiteral aOOOAttrFooterField = u"" NSPREFIX "footer-field";
 const char    aOOOAttrHasTransition[] = NSPREFIX "has-transition";
 
 // ooo xml attributes for pages and shapes
 const char    aOOOAttrName[] = NSPREFIX "name";
 
-const char    constSvgNamespace[] = "http://www.w3.org/2000/svg";;
+const OUStringLiteral constSvgNamespace = u"http://www.w3.org/2000/svg";;
 
 
 /** Text Field Class Hierarchy
diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx
index 8025550b5837..a15dc12f53e6 100644
--- a/filter/source/svg/svgfilter.cxx
+++ b/filter/source/svg/svgfilter.cxx
@@ -63,8 +63,8 @@ using namespace ::com::sun::star;
 
 namespace
 {
-    const char constFilterNameDraw[] = "svg_Scalable_Vector_Graphics_Draw";
-    const char constFilterName[] = "svg_Scalable_Vector_Graphics";
+    const OUStringLiteral constFilterNameDraw = 
u"svg_Scalable_Vector_Graphics_Draw";
+    const OUStringLiteral constFilterName = u"svg_Scalable_Vector_Graphics";
 }
 
 SVGFilter::SVGFilter( const Reference< XComponentContext >& rxCtx ) :
diff --git a/forms/source/component/DatabaseForm.cxx 
b/forms/source/component/DatabaseForm.cxx
index 97c76efb5eff..11b8bd14d352 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -1943,7 +1943,7 @@ void ODatabaseForm::reset_impl(bool _bApproveByListeners)
                 if ( xColProps.is() )
                     xPSI = xColProps->getPropertySetInfo( );
 
-                static const char PROPERTY_CONTROLDEFAULT[] = "ControlDefault";
+                static const OUStringLiteral PROPERTY_CONTROLDEFAULT = 
u"ControlDefault";
                 if ( xPSI.is() && xPSI->hasPropertyByName( 
PROPERTY_CONTROLDEFAULT ) )
                 {
                     Any aDefault = xColProps->getPropertyValue( 
PROPERTY_CONTROLDEFAULT );
diff --git a/forms/source/component/FormattedField.cxx 
b/forms/source/component/FormattedField.cxx
index 18cb21882d6a..1e201c7b3858 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -649,7 +649,7 @@ void OFormattedModel::write(const 
Reference<XObjectOutputStream>& _rxOutStream)
         Reference<XNumberFormats>  xFormats = xSupplier->getNumberFormats();
         OUString         sFormatDescription;
         LanguageType    eFormatLanguage = LANGUAGE_DONTKNOW;
-        static const char s_aLocaleProp[] = "Locale";
+        static const OUStringLiteral s_aLocaleProp = u"Locale";
         Reference<css::beans::XPropertySet>  xFormat = 
xFormats->getByKey(nKey);
         if (hasProperty(s_aLocaleProp, xFormat))
         {
@@ -660,7 +660,7 @@ void OFormattedModel::write(const 
Reference<XObjectOutputStream>& _rxOutStream)
                 eFormatLanguage = LanguageTag::convertToLanguageType( 
*pLocale, false);
             }
         }
-        static const char s_aFormatStringProp[] = "FormatString";
+        static const OUStringLiteral s_aFormatStringProp = u"FormatString";
         if (hasProperty(s_aFormatStringProp, xFormat))
             xFormat->getPropertyValue(s_aFormatStringProp) >>= 
sFormatDescription;
         _rxOutStream->writeUTF(sFormatDescription);
diff --git a/framework/inc/taskcreatordefs.hxx 
b/framework/inc/taskcreatordefs.hxx
index 1b63cd28105b..02b85221c801 100644
--- a/framework/inc/taskcreatordefs.hxx
+++ b/framework/inc/taskcreatordefs.hxx
@@ -21,37 +21,38 @@
 #define INCLUDED_FRAMEWORK_INC_TASKCREATORDEFS_HXX
 
 /// [XFrame] if it's set, it will be used as parent frame for the new created 
frame.
-const char ARGUMENT_PARENTFRAME[] = "ParentFrame"; // XFrame
+const OUStringLiteral ARGUMENT_PARENTFRAME = u"ParentFrame"; // XFrame
 
 /** [OUString] if it's not a special name (beginning with "_" ... which are 
not allowed here!)
                it will be set as the API name of the new created frame.
  */
-const char ARGUMENT_FRAMENAME[] = "FrameName"; // OUString
+const OUStringLiteral ARGUMENT_FRAMENAME = u"FrameName"; // OUString
 
 /// [sal_Bool] If it's set to sal_True we will make the new created frame 
visible.
-const char ARGUMENT_MAKEVISIBLE[] = "MakeVisible"; // sal_Bool
+const OUStringLiteral ARGUMENT_MAKEVISIBLE = u"MakeVisible"; // sal_Bool
 
 /** [sal_Bool] If not "ContainerWindow" property is set it force creation of a
                top level window as new container window.
  */
-const char ARGUMENT_CREATETOPWINDOW[] = "CreateTopWindow"; // sal_Bool
+const OUStringLiteral ARGUMENT_CREATETOPWINDOW = u"CreateTopWindow"; // 
sal_Bool
 
 /// [Rectangle] Place the new created frame on this place and resize the 
container window.
-const char ARGUMENT_POSSIZE[] = "PosSize"; // Rectangle
+inline const OUStringLiteral ARGUMENT_POSSIZE = u"PosSize"; // Rectangle
 
 /// [XWindow] an outside created window, used as container window of the new 
created frame.
-const char ARGUMENT_CONTAINERWINDOW[] = "ContainerWindow"; // XWindow
+inline const OUStringLiteral ARGUMENT_CONTAINERWINDOW = u"ContainerWindow"; // 
XWindow
 
 /** [sal_Bool] enable/disable special mode, where this frame will be part of
                the persistent window state feature suitable for any office 
module window
  */
-const char ARGUMENT_SUPPORTPERSISTENTWINDOWSTATE[] = 
"SupportPersistentWindowState"; // sal_Bool
+const OUStringLiteral ARGUMENT_SUPPORTPERSISTENTWINDOWSTATE
+    = u"SupportPersistentWindowState"; // sal_Bool
 
 /** [sal_Bool] enable/disable special mode, where the title bar of our
                the new created frame will be updated automatically.
                Default = ON !
  */
-const char ARGUMENT_ENABLE_TITLEBARUPDATE[] = "EnableTitleBarUpdate"; // 
sal_Bool
+inline const OUStringLiteral ARGUMENT_ENABLE_TITLEBARUPDATE = 
u"EnableTitleBarUpdate"; // sal_Bool
 
 #endif // INCLUDED_FRAMEWORK_INC_TASKCREATORDEFS_HXX
 
diff --git a/framework/qa/cppunit/loadenv.cxx b/framework/qa/cppunit/loadenv.cxx
index 96d28cd47396..5ce6826060d0 100644
--- a/framework/qa/cppunit/loadenv.cxx
+++ b/framework/qa/cppunit/loadenv.cxx
@@ -35,7 +35,7 @@ void Test::setUp()
     mxDesktop.set(frame::Desktop::create(mxComponentContext));
 }
 
-char const DATA_DIRECTORY[] = "/framework/qa/cppunit/data/";
+OUStringLiteral const DATA_DIRECTORY = u"/framework/qa/cppunit/data/";
 
 class DocumentOpener
 {
diff --git a/framework/source/accelerators/acceleratorconfiguration.cxx 
b/framework/source/accelerators/acceleratorconfiguration.cxx
index d2df6e582c8f..e813213a92a0 100644
--- a/framework/source/accelerators/acceleratorconfiguration.cxx
+++ b/framework/source/accelerators/acceleratorconfiguration.cxx
@@ -57,8 +57,8 @@
 
 namespace framework
 {
-    const char CFG_ENTRY_SECONDARY[] = "SecondaryKeys";
-    const char CFG_PROP_COMMAND[] = "Command";
+    const OUStringLiteral CFG_ENTRY_SECONDARY = u"SecondaryKeys";
+    const OUStringLiteral CFG_PROP_COMMAND = u"Command";
 
     static OUString lcl_getKeyString(const css::awt::KeyEvent& aKeyEvent)
     {
diff --git a/framework/source/fwe/xml/menudocumenthandler.cxx 
b/framework/source/fwe/xml/menudocumenthandler.cxx
index 4b5a7ff06f10..ad55be6dd213 100644
--- a/framework/source/fwe/xml/menudocumenthandler.cxx
+++ b/framework/source/fwe/xml/menudocumenthandler.cxx
@@ -72,12 +72,12 @@
 #define ATTRIBUTE_ITEMSTYLE_RADIO    "radio"
 
 // Property names of a menu/menu item ItemDescriptor
-const char ITEM_DESCRIPTOR_COMMANDURL[]  = "CommandURL";
-const char ITEM_DESCRIPTOR_HELPURL[]     = "HelpURL";
-const char ITEM_DESCRIPTOR_CONTAINER[]   = "ItemDescriptorContainer";
-const char ITEM_DESCRIPTOR_LABEL[]       = "Label";
-const char ITEM_DESCRIPTOR_TYPE[]        = "Type";
-const char ITEM_DESCRIPTOR_STYLE[]       = "Style";
+const OUStringLiteral ITEM_DESCRIPTOR_COMMANDURL = u"CommandURL";
+const OUStringLiteral ITEM_DESCRIPTOR_HELPURL = u"HelpURL";
+const OUStringLiteral ITEM_DESCRIPTOR_CONTAINER = u"ItemDescriptorContainer";
+const OUStringLiteral ITEM_DESCRIPTOR_LABEL = u"Label";
+const OUStringLiteral ITEM_DESCRIPTOR_TYPE = u"Type";
+const OUStringLiteral ITEM_DESCRIPTOR_STYLE = u"Style";
 
 //  using namespaces
 
diff --git a/framework/source/fwe/xml/toolboxdocumenthandler.cxx 
b/framework/source/fwe/xml/toolboxdocumenthandler.cxx
index 5ed0ee665405..a829e03ad20d 100644
--- a/framework/source/fwe/xml/toolboxdocumenthandler.cxx
+++ b/framework/source/fwe/xml/toolboxdocumenthandler.cxx
@@ -48,11 +48,11 @@ namespace framework
 {
 
 // Property names of a menu/menu item ItemDescriptor
-const char ITEM_DESCRIPTOR_COMMANDURL[]  = "CommandURL";
-const char ITEM_DESCRIPTOR_LABEL[]       = "Label";
-const char ITEM_DESCRIPTOR_TYPE[]        = "Type";
-const char ITEM_DESCRIPTOR_STYLE[]       = "Style";
-const char ITEM_DESCRIPTOR_VISIBLE[]     = "IsVisible";
+const OUStringLiteral ITEM_DESCRIPTOR_COMMANDURL = u"CommandURL";
+const OUStringLiteral ITEM_DESCRIPTOR_LABEL = u"Label";
+const OUStringLiteral ITEM_DESCRIPTOR_TYPE = u"Type";
+const OUStringLiteral ITEM_DESCRIPTOR_STYLE = u"Style";
+const OUStringLiteral ITEM_DESCRIPTOR_VISIBLE = u"IsVisible";
 
 static void ExtractToolbarParameters( const Sequence< PropertyValue >& rProp,
                                       OUString&                        
rCommandURL,
diff --git a/framework/source/fwi/uielement/constitemcontainer.cxx 
b/framework/source/fwi/uielement/constitemcontainer.cxx
index d0a621babcd5..212f0a80e24b 100644
--- a/framework/source/fwi/uielement/constitemcontainer.cxx
+++ b/framework/source/fwi/uielement/constitemcontainer.cxx
@@ -33,7 +33,7 @@ using namespace com::sun::star::beans;
 using namespace com::sun::star::container;
 
 const int PROPHANDLE_UINAME     = 1;
-const char PROPNAME_UINAME[]    = "UIName";
+const OUStringLiteral PROPNAME_UINAME = u"UIName";
 
 namespace framework
 {
diff --git a/framework/source/fwi/uielement/itemcontainer.cxx 
b/framework/source/fwi/uielement/itemcontainer.cxx
index 79e5104e933f..55f6ccecfd50 100644
--- a/framework/source/fwi/uielement/itemcontainer.cxx
+++ b/framework/source/fwi/uielement/itemcontainer.cxx
@@ -30,7 +30,8 @@ using namespace com::sun::star::lang;
 using namespace com::sun::star::beans;
 using namespace com::sun::star::container;
 
-const char WRONG_TYPE_EXCEPTION[] = "Type must be css::uno::Sequence< 
css::beans::PropertyValue >";
+const OUStringLiteral WRONG_TYPE_EXCEPTION
+    = u"Type must be css::uno::Sequence< css::beans::PropertyValue >";
 
 namespace framework
 {
diff --git a/framework/source/fwi/uielement/rootitemcontainer.cxx 
b/framework/source/fwi/uielement/rootitemcontainer.cxx
index edf695135d1d..0016789d2da6 100644
--- a/framework/source/fwi/uielement/rootitemcontainer.cxx
+++ b/framework/source/fwi/uielement/rootitemcontainer.cxx
@@ -33,10 +33,11 @@ using namespace com::sun::star::lang;
 using namespace com::sun::star::beans;
 using namespace com::sun::star::container;
 
-const char WRONG_TYPE_EXCEPTION[] = "Type must be css::uno::Sequence< 
css::beans::PropertyValue >";
+const OUStringLiteral WRONG_TYPE_EXCEPTION
+    = u"Type must be css::uno::Sequence< css::beans::PropertyValue >";
 
 const int PROPHANDLE_UINAME     = 1;
-const char PROPNAME_UINAME[]    = "UIName";
+const OUStringLiteral PROPNAME_UINAME = u"UIName";
 
 namespace framework
 {
diff --git a/framework/source/helper/statusindicatorfactory.cxx 
b/framework/source/helper/statusindicatorfactory.cxx
index f525a1d2c1dd..ce923b2f9e55 100644
--- a/framework/source/helper/statusindicatorfactory.cxx
+++ b/framework/source/helper/statusindicatorfactory.cxx
@@ -48,7 +48,7 @@ struct RescheduleLock: public rtl::Static<osl::Mutex, 
RescheduleLock> {}; ///< m
 
 }
 
-const char PROGRESS_RESOURCE[] = "private:resource/progressbar/progressbar";
+const OUStringLiteral PROGRESS_RESOURCE = 
u"private:resource/progressbar/progressbar";
 
 StatusIndicatorFactory::StatusIndicatorFactory(const css::uno::Reference< 
css::uno::XComponentContext >& xContext)
     : m_xContext          (xContext )
diff --git a/framework/source/helper/uiconfigelementwrapperbase.cxx 
b/framework/source/helper/uiconfigelementwrapperbase.cxx
index b0138d04a77c..f27c51186f30 100644
--- a/framework/source/helper/uiconfigelementwrapperbase.cxx
+++ b/framework/source/helper/uiconfigelementwrapperbase.cxx
@@ -37,14 +37,14 @@ const int UIELEMENT_PROPHANDLE_TYPE             = 5;
 const int UIELEMENT_PROPHANDLE_XMENUBAR         = 6;
 const int UIELEMENT_PROPHANDLE_CONFIGLISTENER   = 7;
 const int UIELEMENT_PROPHANDLE_NOCLOSE          = 8;
-const char UIELEMENT_PROPNAME_CONFIGLISTENER[] = "ConfigListener";
-const char UIELEMENT_PROPNAME_CONFIGSOURCE[] = "ConfigurationSource";
-const char UIELEMENT_PROPNAME_FRAME[] = "Frame";
-const char UIELEMENT_PROPNAME_PERSISTENT[] = "Persistent";
-const char UIELEMENT_PROPNAME_RESOURCEURL[] = "ResourceURL";
-const char UIELEMENT_PROPNAME_TYPE[] = "Type";
-const char UIELEMENT_PROPNAME_XMENUBAR[] = "XMenuBar";
-const char UIELEMENT_PROPNAME_NOCLOSE[] = "NoClose";
+const OUStringLiteral UIELEMENT_PROPNAME_CONFIGLISTENER = u"ConfigListener";
+const OUStringLiteral UIELEMENT_PROPNAME_CONFIGSOURCE = u"ConfigurationSource";
+const OUStringLiteral UIELEMENT_PROPNAME_FRAME = u"Frame";
+const OUStringLiteral UIELEMENT_PROPNAME_PERSISTENT = u"Persistent";
+const OUStringLiteral UIELEMENT_PROPNAME_RESOURCEURL = u"ResourceURL";
+const OUStringLiteral UIELEMENT_PROPNAME_TYPE = u"Type";
+const OUStringLiteral UIELEMENT_PROPNAME_XMENUBAR = u"XMenuBar";
+const OUStringLiteral UIELEMENT_PROPNAME_NOCLOSE = u"NoClose";
 using namespace com::sun::star::beans;
 using namespace com::sun::star::uno;
 using namespace com::sun::star::frame;
diff --git a/framework/source/helper/uielementwrapperbase.cxx 
b/framework/source/helper/uielementwrapperbase.cxx
index 76cf234ff94f..06db2788beac 100644
--- a/framework/source/helper/uielementwrapperbase.cxx
+++ b/framework/source/helper/uielementwrapperbase.cxx
@@ -28,9 +28,9 @@
 const int UIELEMENT_PROPHANDLE_RESOURCEURL  = 1;
 const int UIELEMENT_PROPHANDLE_TYPE         = 2;
 const int UIELEMENT_PROPHANDLE_FRAME        = 3;
-const char UIELEMENT_PROPNAME_RESOURCEURL[] = "ResourceURL";
-const char UIELEMENT_PROPNAME_TYPE[] = "Type";
-const char UIELEMENT_PROPNAME_FRAME[] = "Frame";
+const OUStringLiteral UIELEMENT_PROPNAME_RESOURCEURL = u"ResourceURL";
+const OUStringLiteral UIELEMENT_PROPNAME_TYPE = u"Type";
+const OUStringLiteral UIELEMENT_PROPNAME_FRAME = u"Frame";
 
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::beans;
diff --git a/framework/source/inc/accelerators/acceleratorconfiguration.hxx 
b/framework/source/inc/accelerators/acceleratorconfiguration.hxx
index 8066a63ff760..6f9daa38b14b 100644
--- a/framework/source/inc/accelerators/acceleratorconfiguration.hxx
+++ b/framework/source/inc/accelerators/acceleratorconfiguration.hxx
@@ -40,9 +40,9 @@
 namespace framework
 {
 
-const char CFG_ENTRY_PRIMARY[] = "PrimaryKeys";
-const char CFG_ENTRY_GLOBAL[] = "Global";
-const char CFG_ENTRY_MODULES[] = "Modules";
+inline const OUStringLiteral CFG_ENTRY_PRIMARY = u"PrimaryKeys";
+inline const OUStringLiteral CFG_ENTRY_GLOBAL = u"Global";
+inline const OUStringLiteral CFG_ENTRY_MODULES = u"Modules";
 
 /**
     implements a read/write access to the accelerator configuration.
diff --git a/framework/source/layoutmanager/layoutmanager.cxx 
b/framework/source/layoutmanager/layoutmanager.cxx
index 67a40b89738c..6090cb0f9646 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -76,7 +76,7 @@ using namespace ::com::sun::star::container;
 using namespace ::com::sun::star::ui;
 using namespace ::com::sun::star::frame;
 
-const char STATUS_BAR_ALIAS[] = "private:resource/statusbar/statusbar";
+const OUStringLiteral STATUS_BAR_ALIAS = 
u"private:resource/statusbar/statusbar";
 
 namespace framework
 {
diff --git a/framework/source/loadenv/loadenv.cxx 
b/framework/source/loadenv/loadenv.cxx
index 59687abbeefb..c24e65959cfb 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -91,8 +91,8 @@
 #include <classes/taskcreator.hxx>
 #include <tools/fileutil.hxx>
 
-const char PROP_TYPES[] = "Types";
-const char PROP_NAME[] = "Name";
+const OUStringLiteral PROP_TYPES = u"Types";
+const OUStringLiteral PROP_NAME = u"Name";
 
 namespace framework {
 
diff --git a/framework/source/services/autorecovery.cxx 
b/framework/source/services/autorecovery.cxx
index c7cdabb4e365..10b8574d6155 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -995,30 +995,30 @@ private:
 };
 
 // recovery.xcu
-const char CFG_PACKAGE_RECOVERY[] = "org.openoffice.Office.Recovery/";
+const OUStringLiteral CFG_PACKAGE_RECOVERY = 
u"org.openoffice.Office.Recovery/";
 
 const char CFG_ENTRY_AUTOSAVE_ENABLED[] = "AutoSave/Enabled";
 const char CFG_ENTRY_AUTOSAVE_TIMEINTERVALL[] = "AutoSave/TimeIntervall"; 
//sic!
 
-const char CFG_ENTRY_REALDEFAULTFILTER[] = "ooSetupFactoryActualFilter";
+const OUStringLiteral CFG_ENTRY_REALDEFAULTFILTER = 
u"ooSetupFactoryActualFilter";
 
-const char CFG_ENTRY_PROP_TEMPURL[] = "TempURL";
-const char CFG_ENTRY_PROP_ORIGINALURL[] = "OriginalURL";
-const char CFG_ENTRY_PROP_TEMPLATEURL[] = "TemplateURL";
-const char CFG_ENTRY_PROP_FACTORYURL[] = "FactoryURL";
-const char CFG_ENTRY_PROP_MODULE[] = "Module";
-const char CFG_ENTRY_PROP_DOCUMENTSTATE[] = "DocumentState";
-const char CFG_ENTRY_PROP_FILTER[] = "Filter";
-const char CFG_ENTRY_PROP_TITLE[] = "Title";
-const char CFG_ENTRY_PROP_ID[] = "ID";
-const char CFG_ENTRY_PROP_VIEWNAMES[] = "ViewNames";
+const OUStringLiteral CFG_ENTRY_PROP_TEMPURL = u"TempURL";
+const OUStringLiteral CFG_ENTRY_PROP_ORIGINALURL = u"OriginalURL";
+const OUStringLiteral CFG_ENTRY_PROP_TEMPLATEURL = u"TemplateURL";
+const OUStringLiteral CFG_ENTRY_PROP_FACTORYURL = u"FactoryURL";
+const OUStringLiteral CFG_ENTRY_PROP_MODULE = u"Module";
+const OUStringLiteral CFG_ENTRY_PROP_DOCUMENTSTATE = u"DocumentState";
+const OUStringLiteral CFG_ENTRY_PROP_FILTER = u"Filter";
+const OUStringLiteral CFG_ENTRY_PROP_TITLE = u"Title";
+const OUStringLiteral CFG_ENTRY_PROP_ID = u"ID";
+const OUStringLiteral CFG_ENTRY_PROP_VIEWNAMES = u"ViewNames";
 
-const char FILTER_PROP_TYPE[] = "Type";
-const char TYPE_PROP_EXTENSIONS[] = "Extensions";
+const OUStringLiteral FILTER_PROP_TYPE = u"Type";
+const OUStringLiteral TYPE_PROP_EXTENSIONS = u"Extensions";
 
 // setup.xcu
-const char CFG_ENTRY_PROP_EMPTYDOCUMENTURL[] = 
"ooSetupFactoryEmptyDocumentURL";
-const char CFG_ENTRY_PROP_FACTORYSERVICE[] = "ooSetupFactoryDocumentService";
+const OUStringLiteral CFG_ENTRY_PROP_EMPTYDOCUMENTURL = 
u"ooSetupFactoryEmptyDocumentURL";
+const OUStringLiteral CFG_ENTRY_PROP_FACTORYSERVICE = 
u"ooSetupFactoryDocumentService";
 
 const char EVENT_ON_NEW[] = "OnNew";
 const char EVENT_ON_LOAD[] = "OnLoad";
@@ -1034,7 +1034,7 @@ const char EVENT_ON_SAVEFAILED[] = "OnSaveFailed";
 const char EVENT_ON_SAVEASFAILED[] = "OnSaveAsFailed";
 const char EVENT_ON_SAVETOFAILED[] = "OnCopyToFailed";
 
-const char RECOVERY_ITEM_BASE_IDENTIFIER[] = "recovery_item_";
+const OUStringLiteral RECOVERY_ITEM_BASE_IDENTIFIER = u"recovery_item_";
 
 const char CMD_PROTOCOL[] = "vnd.sun.star.autorecovery:";
 
@@ -1050,17 +1050,17 @@ const char CMD_DO_SESSION_RESTORE[] = 
"/doSessionRestore";    // restore a saved
 const char CMD_DO_DISABLE_RECOVERY[] = "/disableRecovery";    // disable 
recovery and auto save (!) temp. for this office session
 const char CMD_DO_SET_AUTOSAVE_STATE[] = "/setAutoSaveState";    // 
disable/enable auto save (not crash save) for this office session
 
-const char REFERRER_USER[] = "private:user";
+const OUStringLiteral REFERRER_USER = u"private:user";
 
-const char PROP_DISPATCH_ASYNCHRON[] = "DispatchAsynchron";
-const char PROP_PROGRESS[] = "StatusIndicator";
-const char PROP_SAVEPATH[] = "SavePath";
-const char PROP_ENTRY_ID[] = "EntryID";
-const char PROP_AUTOSAVE_STATE[] = "AutoSaveState";
+const OUStringLiteral PROP_DISPATCH_ASYNCHRON = u"DispatchAsynchron";
+const OUStringLiteral PROP_PROGRESS = u"StatusIndicator";
+const OUStringLiteral PROP_SAVEPATH = u"SavePath";
+const OUStringLiteral PROP_ENTRY_ID = u"EntryID";
+const OUStringLiteral PROP_AUTOSAVE_STATE = u"AutoSaveState";
 
-const char OPERATION_START[] = "start";
-const char OPERATION_STOP[] = "stop";
-const char OPERATION_UPDATE[] = "update";
+const OUStringLiteral OPERATION_START = u"start";
+const OUStringLiteral OPERATION_STOP = u"stop";
+const OUStringLiteral OPERATION_UPDATE = u"update";
 
 const sal_Int32       MIN_DISCSPACE_DOCSAVE                  =   5; // [MB]
 const sal_Int32       MIN_DISCSPACE_CONFIGSAVE               =   1; // [MB]
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.cxx 
b/framework/source/uiconfiguration/imagemanagerimpl.cxx
index 681ce8a4a7ba..6206aa3864f5 100644
--- a/framework/source/uiconfiguration/imagemanagerimpl.cxx
+++ b/framework/source/uiconfiguration/imagemanagerimpl.cxx
@@ -64,8 +64,8 @@ using namespace ::cppu;
 
 const sal_Int16 MAX_IMAGETYPE_VALUE       = css::ui::ImageType::SIZE_32;
 
-const char   IMAGE_FOLDER[]        = "images";
-const char   BITMAPS_FOLDER[]      = "Bitmaps";
+const OUStringLiteral IMAGE_FOLDER = u"images";
+const OUStringLiteral BITMAPS_FOLDER = u"Bitmaps";
 
 const o3tl::enumarray<vcl::ImageType, const char*> IMAGELIST_XML_FILE =
 {
diff --git a/framework/source/uielement/recentfilesmenucontroller.cxx 
b/framework/source/uielement/recentfilesmenucontroller.cxx
index 3d79087be85d..e0fd3d07f4d2 100644
--- a/framework/source/uielement/recentfilesmenucontroller.cxx
+++ b/framework/source/uielement/recentfilesmenucontroller.cxx
@@ -40,9 +40,9 @@ using namespace com::sun::star::util;
 
 namespace {
 
-const char CMD_CLEAR_LIST[]   = ".uno:ClearRecentFileList";
-const char CMD_OPEN_AS_TEMPLATE[] = ".uno:OpenTemplate";
-const char CMD_OPEN_REMOTE[]  = ".uno:OpenRemote";
+const OUStringLiteral CMD_CLEAR_LIST = u".uno:ClearRecentFileList";
+const OUStringLiteral CMD_OPEN_AS_TEMPLATE = u".uno:OpenTemplate";
+const OUStringLiteral CMD_OPEN_REMOTE = u".uno:OpenRemote";
 
 class RecentFilesMenuController :  public svt::PopupMenuControllerBase
 {
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx 
b/framework/source/uielement/toolbarsmenucontroller.cxx
index 7cce1b37d29c..0689cd39aff2 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -68,9 +68,9 @@ using namespace ::com::sun::star::util;
 using namespace ::com::sun::star::container;
 using namespace ::com::sun::star::ui;
 
-const char CMD_RESTOREVISIBILITY[]       = ".cmd:RestoreVisibility";
+const OUStringLiteral CMD_RESTOREVISIBILITY = u".cmd:RestoreVisibility";
 
-const char STATIC_CMD_PART[]             = 
".uno:AvailableToolbars?Toolbar:string=";
+const OUStringLiteral STATIC_CMD_PART    = 
u".uno:AvailableToolbars?Toolbar:string=";
 const char STATIC_INTERNAL_CMD_PART[]    = ".cmd:";
 
 namespace framework
diff --git a/framework/source/uielement/uicommanddescription.cxx 
b/framework/source/uielement/uicommanddescription.cxx
index 28c606ea96a4..23ef0b8654f4 100644
--- a/framework/source/uielement/uicommanddescription.cxx
+++ b/framework/source/uielement/uicommanddescription.cxx
@@ -50,7 +50,7 @@ using namespace ::com::sun::star::frame;
 const char CONFIGURATION_ROOT_ACCESS[]           = 
"/org.openoffice.Office.UI.";
 
 // Special resource URLs to retrieve additional information
-const char PRIVATE_RESOURCE_URL[]                = "private:";
+const OUStringLiteral PRIVATE_RESOURCE_URL       = u"private:";
 
 const sal_Int32   COMMAND_PROPERTY_IMAGE                = 1;
 const sal_Int32   COMMAND_PROPERTY_ROTATE               = 2;
diff --git a/i18npool/source/collator/chaptercollator.cxx 
b/i18npool/source/collator/chaptercollator.cxx
index fb4128a6c7c3..153f5ff3d38d 100644
--- a/i18npool/source/collator/chaptercollator.cxx
+++ b/i18npool/source/collator/chaptercollator.cxx
@@ -72,7 +72,7 @@ ChapterCollator::compareSubstring( const OUString& str1, 
sal_Int32 off1, sal_Int
     return res1.Value == res2.Value ? 0 : res1.Value > res2.Value ? 1 : -1;
 }
 
-const char cChapCollator[] = "com.sun.star.i18n.ChapterCollator";
+const OUStringLiteral cChapCollator = u"com.sun.star.i18n.ChapterCollator";
 
 OUString SAL_CALL
 ChapterCollator::getImplementationName()
diff --git a/i18npool/source/collator/collator_unicode.cxx 
b/i18npool/source/collator/collator_unicode.cxx
index dd273e687f21..f3ba3c062050 100644
--- a/i18npool/source/collator/collator_unicode.cxx
+++ b/i18npool/source/collator/collator_unicode.cxx
@@ -38,7 +38,7 @@ using namespace ::com::sun::star::uno;
 
 namespace i18npool {
 
-const char implementationName[] = "com.sun.star.i18n.Collator_Unicode";
+const OUStringLiteral implementationName = 
u"com.sun.star.i18n.Collator_Unicode";
 
 Collator_Unicode::Collator_Unicode()
 {
diff --git 
a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx 
b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
index d352aec6f9de..fd98a6bc32e3 100644
--- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
+++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
@@ -419,7 +419,7 @@ static
 void lcl_formatPersianWord( sal_Int32 nNumber, OUString& rsResult )
 {
     OUStringBuffer aTemp(64);
-    static const sal_Unicode asPersianWord_conjunction_data[] = u" \u0648 ";
+    static const OUStringLiteral asPersianWord_conjunction_data = u" \u0648 ";
     OUString asPersianWord_conjunction( asPersianWord_conjunction_data );
     unsigned char nSection = 0;
 
diff --git a/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx 
b/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
index 214893a901d4..b4a9f3e0cda6 100644
--- a/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
+++ b/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
@@ -63,7 +63,7 @@ sal_Int16 SAL_CALL 
IndexEntrySupplier_ja_phonetic::compareIndexEntry(
     return result;
 }
 
-const char first[] = "phonetic (alphanumeric first)";
+const OUStringLiteral first = u"phonetic (alphanumeric first)";
 sal_Bool SAL_CALL 
IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable::loadAlgorithm(
     const css::lang::Locale& rLocale, const OUString& /*SortAlgorithm*/,
     sal_Int32 collatorOptions )
@@ -77,7 +77,7 @@ sal_Bool SAL_CALL 
IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant
     return collator->loadCollatorAlgorithm(first, rLocale, collatorOptions) == 
0;
 }
 
-const char last[] = "phonetic (alphanumeric last)";
+const OUStringLiteral last = u"phonetic (alphanumeric last)";
 sal_Bool SAL_CALL 
IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable::loadAlgorithm(
     const css::lang::Locale& rLocale, const OUString& /*SortAlgorithm*/,
     sal_Int32 collatorOptions )
diff --git a/i18npool/source/nativenumber/nativenumbersupplier.cxx 
b/i18npool/source/nativenumber/nativenumbersupplier.cxx
index dbd3f77b7b4c..a745396782df 100644
--- a/i18npool/source/nativenumber/nativenumbersupplier.cxx
+++ b/i18npool/source/nativenumber/nativenumbersupplier.cxx
@@ -1220,7 +1220,7 @@ OUString getCyrillicNativeNumberString(const OUString& 
aNumberString)
         return aNumberString;
 }
 
-const char implementationName[] = "com.sun.star.i18n.NativeNumberSupplier";
+const OUStringLiteral implementationName = 
u"com.sun.star.i18n.NativeNumberSupplier";
 
 OUString SAL_CALL NativeNumberSupplierService::getImplementationName()
 {

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to