@@ -1025,16 +1025,13 @@ internal static bool PyObject_IsIterable(IntPtr pointer)
10251025}
10261026
10271027[ DllImport ( _PythonDll , CallingConvention = CallingConvention . Cdecl) ]
1028- internalstatic extern int PyObject_HasAttrString ( IntPtr pointer , string name ) ;
1028+ internalstatic extern int PyObject_HasAttrString ( IntPtr pointer , [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( Utf8Marshaler ) ) ] string name) ;
10291029
10301030[ DllImport ( _PythonDll , CallingConvention = CallingConvention . Cdecl) ]
1031- internalstatic extern IntPtr PyObject_GetAttrString( IntPtr pointer , string name ) ;
1031+ internalstatic extern IntPtr PyObject_GetAttrString( IntPtr pointer , [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( Utf8Marshaler ) ) ] string name) ;
10321032
10331033[ DllImport ( _PythonDll , CallingConvention = CallingConvention . Cdecl) ]
1034- internalstatic extern IntPtr PyObject_GetAttrString( IntPtr pointer , IntPtr name ) ;
1035-
1036- [ DllImport ( _PythonDll , CallingConvention = CallingConvention . Cdecl) ]
1037- internalstatic extern int PyObject_SetAttrString ( IntPtr pointer , string name , IntPtr value ) ;
1034+ internalstatic extern int PyObject_SetAttrString ( IntPtr pointer , [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( Utf8Marshaler ) ) ] string name, IntPtr value ) ;
10381035
10391036[ DllImport ( _PythonDll , CallingConvention = CallingConvention . Cdecl) ]
10401037 internalstatic extern int PyObject_HasAttr ( IntPtr pointer , IntPtr name ) ;
@@ -1649,7 +1646,7 @@ internal static bool PyDict_Check(IntPtr ob)
16491646/// Return value: Borrowed reference.
16501647/// </summary>
16511648[ DllImport( _PythonDll, CallingConvention= CallingConvention. Cdecl) ]
1652- internalstatic extern IntPtr PyDict_GetItemString( IntPtr pointer, string key) ;
1649+ internalstatic extern IntPtr PyDict_GetItemString( IntPtr pointer, [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( Utf8Marshaler ) ) ] string key) ;
16531650
16541651/// <summary>
16551652/// Return 0 on success or -1 on failure.
@@ -1661,13 +1658,13 @@ internal static bool PyDict_Check(IntPtr ob)
16611658/// Return 0 on success or -1 on failure.
16621659/// </summary>
16631660[ DllImport( _PythonDll, CallingConvention= CallingConvention. Cdecl) ]
1664- internalstatic extern int PyDict_SetItemString( IntPtr pointer, string key, IntPtr value) ;
1661+ internalstatic extern int PyDict_SetItemString( IntPtr pointer, [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( Utf8Marshaler ) ) ] string key, IntPtr value) ;
16651662
16661663[ DllImport( _PythonDll, CallingConvention= CallingConvention. Cdecl) ]
16671664 internalstatic extern int PyDict_DelItem( IntPtr pointer, IntPtr key) ;
16681665
16691666[ DllImport( _PythonDll, CallingConvention= CallingConvention. Cdecl) ]
1670- internalstatic extern int PyDict_DelItemString( IntPtr pointer, string key) ;
1667+ internalstatic extern int PyDict_DelItemString( IntPtr pointer, [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( Utf8Marshaler ) ) ] string key) ;
16711668
16721669[ DllImport( _PythonDll, CallingConvention= CallingConvention. Cdecl) ]
16731670 internalstatic extern int PyMapping_HasKey( IntPtr pointer, IntPtr key) ;
@@ -2019,7 +2016,7 @@ internal static IntPtr PyMem_Realloc(IntPtr ptr, long size)
20192016//====================================================================
20202017
20212018[ DllImport( _PythonDll, CallingConvention= CallingConvention. Cdecl) ]
2022- internalstatic extern void PyErr_SetString( IntPtr ob, string message) ;
2019+ internalstatic extern void PyErr_SetString( IntPtr ob, [ MarshalAs ( UnmanagedType . CustomMarshaler , MarshalTypeRef = typeof ( Utf8Marshaler ) ) ] string message) ;
20232020
20242021[ DllImport( _PythonDll, CallingConvention= CallingConvention. Cdecl) ]
20252022 internalstatic extern void PyErr_SetObject( BorrowedReference type, BorrowedReference exceptionObject) ;