diff --git a/Externals/wxWidgets/include/wx/msw/setup0.h b/Externals/wxWidgets/include/wx/msw/setup0.h
index 5df4a4ec17..2029455526 100644
--- a/Externals/wxWidgets/include/wx/msw/setup0.h
+++ b/Externals/wxWidgets/include/wx/msw/setup0.h
@@ -157,7 +157,7 @@
 //
 // Recommended setting: 0 (unless you only plan to use Windows NT/2000/XP)
 #ifndef wxUSE_UNICODE
-    #define wxUSE_UNICODE 0
+    #define wxUSE_UNICODE 1
 #endif
 
 // Setting wxUSE_WCHAR_T to 1 gives you some degree of Unicode support without
diff --git a/Externals/wxWidgets/include/wx/setup.h b/Externals/wxWidgets/include/wx/setup.h
index 61bfdabd7b..2a76999984 100644
--- a/Externals/wxWidgets/include/wx/setup.h
+++ b/Externals/wxWidgets/include/wx/setup.h
@@ -157,7 +157,7 @@
 //
 // Recommended setting: 0 (unless you only plan to use Windows NT/2000/XP)
 #ifndef wxUSE_UNICODE
-    #define wxUSE_UNICODE 0
+    #define wxUSE_UNICODE 1
 #endif
 
 // Setting wxUSE_WCHAR_T to 1 gives you some degree of Unicode support without
diff --git a/Source/Core/InputCommon/InputCommon.vcproj b/Source/Core/InputCommon/InputCommon.vcproj
index e559e1d688..aa67c3656a 100644
--- a/Source/Core/InputCommon/InputCommon.vcproj
+++ b/Source/Core/InputCommon/InputCommon.vcproj
@@ -24,7 +24,7 @@
 			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
 			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="0"
+			CharacterSet="1"
 			WholeProgramOptimization="0"
 			>
 			<Tool
@@ -88,7 +88,7 @@
 			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
 			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="0"
+			CharacterSet="1"
 			WholeProgramOptimization="0"
 			>
 			<Tool
@@ -153,7 +153,7 @@
 			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
 			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="0"
+			CharacterSet="1"
 			WholeProgramOptimization="0"
 			>
 			<Tool
@@ -219,7 +219,7 @@
 			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
 			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="2"
+			CharacterSet="1"
 			WholeProgramOptimization="0"
 			>
 			<Tool
@@ -286,7 +286,7 @@
 			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
 			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="0"
+			CharacterSet="1"
 			WholeProgramOptimization="0"
 			>
 			<Tool
@@ -347,7 +347,7 @@
 			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
 			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
 			ConfigurationType="4"
-			CharacterSet="0"
+			CharacterSet="1"
 			WholeProgramOptimization="0"
 			>
 			<Tool
diff --git a/Source/Core/InputCommon/Src/Configuration.cpp b/Source/Core/InputCommon/Src/Configuration.cpp
index c08362bd5d..47e7c4ecab 100644
--- a/Source/Core/InputCommon/Src/Configuration.cpp
+++ b/Source/Core/InputCommon/Src/Configuration.cpp
@@ -240,7 +240,8 @@ std::string VKToString(int keycode)
 #ifdef _WIN32
 	// Default value
 	char KeyStr[64] = {0};
-	GetKeyNameText(MapVirtualKey(keycode, MAPVK_VK_TO_VSC) << 16, KeyStr, 64);
+	// TODO: Switch to unicode GetKeyNameText?
+	GetKeyNameTextA(MapVirtualKey(keycode, MAPVK_VK_TO_VSC) << 16, KeyStr, 64);
 	std::string KeyString = KeyStr;
 
 	switch(keycode)
diff --git a/Source/Core/InputCommon/Src/DirectInputBase.cpp b/Source/Core/InputCommon/Src/DirectInputBase.cpp
index 60ab61acb9..eabb5ec0b3 100644
--- a/Source/Core/InputCommon/Src/DirectInputBase.cpp
+++ b/Source/Core/InputCommon/Src/DirectInputBase.cpp
@@ -104,7 +104,8 @@ void DInput::DIKToString(unsigned int keycode, char *keyStr)
 			strcpy(keyStr, "Num /");
 			break;
 		default:
-			GetKeyNameText(keycode << 16, keyStr, 64);
+			// TODO: Switch to unicode GetKeyNameText?
+			GetKeyNameTextA(keycode << 16, keyStr, 64);
 			break;
 	}
 }
@@ -119,13 +120,13 @@ HRESULT DInput::Init(HWND hWnd)
 	if (FAILED(hr = DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION,
 					    IID_IDirectInput8, (VOID* *)&g_pDI, NULL)))
 	{
-		MessageBox(0, "Direct Input Create Failed", 0, MB_ICONERROR);
+		MessageBox(0, L"Direct Input Create Failed", 0, MB_ICONERROR);
 		return(hr);
 	}
 
 	if (FAILED(hr = g_pDI->CreateDevice(GUID_SysKeyboard, &g_pKeyboard, NULL)))
 	{
-		MessageBox(0, "Couldn't access keyboard", 0, MB_ICONERROR);
+		MessageBox(0, L"Couldn't access keyboard", 0, MB_ICONERROR);
 		Free();
 		return(hr);
 	}