Skip to content

Using UltraVNC Server Copy Chinese One way only。 #214

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Zephylaci opened this issue Aug 29, 2024 · 4 comments
Open

Using UltraVNC Server Copy Chinese One way only。 #214

Zephylaci opened this issue Aug 29, 2024 · 4 comments
Assignees
Labels
rudi Rudi answer is needed

Comments

@Zephylaci
Copy link

Zephylaci commented Aug 29, 2024

Thanks for a great project。
But I ran into a problem and would like some advice。
When I use noVNC as a client connection。

English copy is normal, once the characters copied to the remote end contain Chinese characters, the Chinese part will become "?",Copying it back from a remote part is fine。

Snipaste_2024-08-29_09-52-32
Snipaste_2024-08-29_09-54-13
Snipaste_2024-08-29_09-55-57

However, when using tigervnc as a server clipboard can work well。
So I think it might be an UltraVNC issue,Perhaps something was not configured properly? Any suggestions?

@jose94752
Copy link
Contributor

Check if your version of Windows Notepad can encode UTF-32 characters
UltraVNC-UTF8-UTF32

@Zephylaci
Copy link
Author

@jose94752
image
I don't have an option for UTF-32 or the one in the screenshot...
I searched for a long time and only found some articles explaining the differences.... Can you tell me how to add this support in windows 10 or where I should look for instructions?
In addition, I think this area could be very useful if UltraVNC can be configured...

@Neustradamus Neustradamus added the rudi Rudi answer is needed label Aug 30, 2024
jose94752 pushed a commit to jose94752/UltraVNC that referenced this issue Feb 19, 2025
The line 752 below
m_strLastCutText.assign(wstrClipboard.begin(), wstrClipboard.end()); // Why you do this? m_strLastCutText is a std::string in Clipboard.h !!! Not a std::wstring or std::u16string or std::u32string ISSUE ultravnc#214
	modified:   common/Clipboard.cpp
RudiDeVos added a commit that referenced this issue Feb 20, 2025
…iles works #243 (#251)

* Hotfix failed of cmake command for "Windows with cmake, using ninja build system, and address santitizer enabled" erase lines with files code file deleted
Remove line 42 of winvnc/CMakeLists.txt
read_write_ini.cpp
Remove lines 83 and 84 of winvnc/CMakeLists.txt
vncproperties.cpp
vncpropertiesPoll.cpp
	modified:   cmake/winvnc/CMakeLists.txt

* Reapply changes of UltraVNC-QtCommunityTests.pro and Update for a better version of gitignore
	modified:   .gitignore
	modified:   UltraVNC-QtCommunityTests.pro

* Clean up UltraVNC-QtCommunityTests.files from deleted files #225
vncproperties.cpp, vncproperties.h, vncpropertiesPoll.cpp and vncpropertiesPoll.h
UltraVNC-QtCommunityTests.pro and cmake/winvnc/CMakeLists.txt are clean too.
	modified:   UltraVNC-QtCommunityTests.files

* Fix of cmake/readme.txt for The cmake Sodium lib crash build #232
	modified:   cmake/readme.txt

* Fix of cmake/readme.txt for The cmake Sodium lib crash build #232
	modified:   cmake/readme.txt

* Qt Creator Upgrade one pro files of to 13 pro files following the structure of Visual Studio project files + Minors updates for try to fix the QMainWindow error.
	new file:   UdtCloudlib/UdtCloudlib.pro
	modified:   UltraVNC-QtCommunityTests.pro
	new file:   addon/addons.pro
	new file:   addon/ms-logon/authadm/authadmin.qrc
	new file:   addon/ms-logon/authadm/authadmin.qrc.txt
	new file:   avilog/avilog.pro
	new file:   omnithread/omnithread.pro
	new file:   rdr/rdr.pro
	new file:   repeater/repeater.pro
	new file:   setcad/setcad.pro
	new file:   setpasswd/setpasswd.pro
	new file:   udt4/win/udt.pro
	new file:   uvnc_settings/uvnc_settings.pro
	new file:   uvnckeyboardhelper/uvnckeyboardhelper.pro
	new file:   vncviewer/main.cpp
	new file:   vncviewer/vncviewer.pro
	new file:   vncviewer/vncviewerQt_fr_FR.ts
	renamed:    vncviewer/vncviewerQt.cpp -> vncviewer/vncviewerqt.cpp
	renamed:    vncviewer/vncviewerQt.h -> vncviewer/vncviewerqt.h
	renamed:    vncviewer/vncviewerQt.ui -> vncviewer/vncviewerqt.ui
	new file:   winvnc/winvnc.pro
	new file:   zipunzip_src/unzip/windll/vc6/unzip32.pro

* Search for debug CMake Sodium lib crash build #232
1) gitignore personnal adding folders
zlib/
zstd/
for try to bypass relatives errors on my computer
2) cmake/readme.txt
Developer Command Prompt for VS <-Line 172- No longer use for vcpkg to make it x64 explanation v
c:\source\vcpkg>vcpkg install zlib
Computing installation plan...
warning: vcpkg appears to be in a Visual Studio prompt targeting x86 but installing for x64-windows-static. Consider using --triplet x86-windows or --triplet x86-uwp.
x64 Native Tools Command Prompt for VS 2022 <- Use these one
	modified:   .gitignore
	modified:   cmake/readme.txt

* Reapply changes of UltraVNC-QtCommunityTests.pro and Update for a better version of gitignore
	modified:   .gitignore
	modified:   UltraVNC-QtCommunityTests.pro

	modified:   UltraVNC-QtCommunityTests.pro

* Qt Creator Upgrade one pro files of to 13 pro files following the structure of Visual Studio project files + Minors updates for try to fix the QMainWindow error.
	new file:   UdtCloudlib/UdtCloudlib.pro
	modified:   UltraVNC-QtCommunityTests.pro
	new file:   addon/addons.pro
	new file:   addon/ms-logon/authadm/authadmin.qrc
	new file:   addon/ms-logon/authadm/authadmin.qrc.txt
	new file:   avilog/avilog.pro
	new file:   omnithread/omnithread.pro
	new file:   rdr/rdr.pro
	new file:   repeater/repeater.pro
	new file:   setcad/setcad.pro
	new file:   setpasswd/setpasswd.pro
	new file:   udt4/win/udt.pro
	new file:   uvnc_settings/uvnc_settings.pro
	new file:   uvnckeyboardhelper/uvnckeyboardhelper.pro
	new file:   vncviewer/main.cpp
	new file:   vncviewer/vncviewer.pro
	new file:   vncviewer/vncviewerQt_fr_FR.ts
	renamed:    vncviewer/vncviewerQt.cpp -> vncviewer/vncviewerqt.cpp
	renamed:    vncviewer/vncviewerQt.h -> vncviewer/vncviewerqt.h
	renamed:    vncviewer/vncviewerQt.ui -> vncviewer/vncviewerqt.ui
	new file:   winvnc/winvnc.pro
	new file:   zipunzip_src/unzip/windll/vc6/unzip32.pro

	modified:   UltraVNC-QtCommunityTests.pro

* Search for debug CMake Sodium lib crash build #232
1) gitignore personnal adding folders
zlib/
zstd/
for try to bypass relatives errors on my computer
2) cmake/readme.txt
Developer Command Prompt for VS <-Line 172- No longer use for vcpkg to make it x64 explanation v
c:\source\vcpkg>vcpkg install zlib
Computing installation plan...
warning: vcpkg appears to be in a Visual Studio prompt targeting x86 but installing for x64-windows-static. Consider using --triplet x86-windows or --triplet x86-uwp.
x64 Native Tools Command Prompt for VS 2022 <- Use these one
	modified:   .gitignore
	modified:   cmake/readme.txt

* Adding find_package and target_link_libraries for sodium lib on the cmake/winvnc/CMakeLists.txt file #232
find_package(unofficial-sodium CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial-sodium::sodium)
Note they explained: this is heuristically generated, and may not be correct
I have a new compile error
C:\source\obj\winvnc\RelWithDebInfo\winvnc.exe : fatal error LNK1120: 7 external unresolved [C:\source\obj\winvnc\winvnc.vcxproj]
	modified:   cmake/winvnc/CMakeLists.txt

* Adding PropertiesDialog.cpp to cmake/winvnc/CMakeLists.txt Partial fix of cmake Sodium lib crash build #232
	modified:   cmake/winvnc/CMakeLists.txt

* Cleanup files

* move inifile common

* Update README.md (#239)

Update README.md

* Update .gitignore (#238)

Update .gitignore

* No vcpkg folder on repository don't touch theses 3 lines
vncviewer/vcpkg_installed/
winvnc/winvnc/vcpkg_installed/
	modified:   .gitignore

* UltraVNC Server -Service Manager

* remove service from server

* only needed for cloud; removed

* SC

* logging

* temp (add impersonate logging to check failure)

* winvnc.exe ->ultravncserver.exe

* Merging after revert of gitignore unnecessary commit
	modified:   .gitignore
	deleted:    UdtCloudlib/UdtCloudlib.pro
	deleted:    UdtCloudlib/UdtCloudlib.vcxproj
	deleted:    UdtCloudlib/framework.h
	deleted:    UdtCloudlib/pch.cpp
	deleted:    UdtCloudlib/pch.h
	deleted:    UdtCloudlib/proxy/Cloudthread.cpp
	deleted:    UdtCloudlib/proxy/Cloudthread.h
	deleted:    UdtCloudlib/proxy/proxy.cpp
	deleted:    UdtCloudlib/proxy/proxy.h
	deleted:    UdtCloudlib/proxy/ringbuffer.cpp
	deleted:    UdtCloudlib/proxy/ringbuffer.h
	modified:   cmake/CMakeLists.txt
	new file:   cmake/ultravnc_service/CMakeLists.txt
	new file:   common/versionService.inc
	deleted:    udt4/LICENSE.txt
	deleted:    udt4/Makefile
	deleted:    udt4/README.txt
	deleted:    udt4/RELEASE_NOTES.txt
	deleted:    udt4/app/Makefile
	deleted:    udt4/app/appclient.cpp
	deleted:    udt4/app/appserver.cpp
	deleted:    udt4/app/cc.h
	deleted:    udt4/app/recvfile.cpp
	deleted:    udt4/app/sendfile.cpp
	deleted:    udt4/app/test.cpp
	deleted:    udt4/app/test_util.h
	deleted:    udt4/doc/doc/accept.htm
	deleted:    udt4/doc/doc/bind.htm
	deleted:    udt4/doc/doc/ccc.htm
	deleted:    udt4/doc/doc/cleanup.htm
	deleted:    udt4/doc/doc/close.htm
	deleted:    udt4/doc/doc/connect.htm
	deleted:    udt4/doc/doc/copy.htm
	deleted:    udt4/doc/doc/ecode.htm
	deleted:    udt4/doc/doc/epoll.htm
	deleted:    udt4/doc/doc/error.htm
	deleted:    udt4/doc/doc/footer.htm
	deleted:    udt4/doc/doc/function.htm
	deleted:    udt4/doc/doc/header.htm
	deleted:    udt4/doc/doc/intro.htm
	deleted:    udt4/doc/doc/listen.htm
	deleted:    udt4/doc/doc/make.htm
	deleted:    udt4/doc/doc/opt.htm
	deleted:    udt4/doc/doc/peername.htm
	deleted:    udt4/doc/doc/recv.htm
	deleted:    udt4/doc/doc/recvfile.htm
	deleted:    udt4/doc/doc/recvmsg.htm
	deleted:    udt4/doc/doc/reference.htm
	deleted:    udt4/doc/doc/select.htm
	deleted:    udt4/doc/doc/selectex.htm
	deleted:    udt4/doc/doc/send.htm
	deleted:    udt4/doc/doc/sendfile.htm
	deleted:    udt4/doc/doc/sendmsg.htm
	deleted:    udt4/doc/doc/socket.htm
	deleted:    udt4/doc/doc/sockname.htm
	deleted:    udt4/doc/doc/startup.htm
	deleted:    udt4/doc/doc/structure.htm
	deleted:    udt4/doc/doc/t-cc.htm
	deleted:    udt4/doc/doc/t-config.htm
	deleted:    udt4/doc/doc/t-data.htm
	deleted:    udt4/doc/doc/t-error.htm
	deleted:    udt4/doc/doc/t-file.htm
	deleted:    udt4/doc/doc/t-firewall.htm
	deleted:    udt4/doc/doc/t-hello.htm
	deleted:    udt4/doc/doc/t-intro.htm
	deleted:    udt4/doc/doc/t-msg.htm
	deleted:    udt4/doc/doc/t-udt3.htm
	deleted:    udt4/doc/doc/trace.htm
	deleted:    udt4/doc/doc/treeview.css
	deleted:    udt4/doc/doc/tutorial.htm
	deleted:    udt4/doc/doc/udtdoc.css
	deleted:    udt4/doc/hlp/ix_book.gif
	deleted:    udt4/doc/hlp/ix_down.gif
	deleted:    udt4/doc/hlp/ix_end.gif
	deleted:    udt4/doc/hlp/ix_endm.gif
	deleted:    udt4/doc/hlp/ix_endp.gif
	deleted:    udt4/doc/hlp/ix_leaf.gif
	deleted:    udt4/doc/hlp/ix_line.gif
	deleted:    udt4/doc/hlp/ix_link.gif
	deleted:    udt4/doc/hlp/ix_list.gif
	deleted:    udt4/doc/hlp/ix_listm.gif
	deleted:    udt4/doc/hlp/ix_listp.gif
	deleted:    udt4/doc/hlp/ix_open.gif
	deleted:    udt4/doc/hlp/ix_space.gif
	deleted:    udt4/doc/hlp/ix_up.gif
	deleted:    udt4/doc/index.htm
	deleted:    udt4/doc/main.htm
	deleted:    udt4/draft-gg-udt-xx.txt
	deleted:    udt4/src/Makefile
	deleted:    udt4/src/api.cpp
	deleted:    udt4/src/api.h
	deleted:    udt4/src/buffer.cpp
	deleted:    udt4/src/buffer.h
	deleted:    udt4/src/cache.cpp
	deleted:    udt4/src/cache.h
	deleted:    udt4/src/ccc.cpp
	deleted:    udt4/src/ccc.h
	deleted:    udt4/src/channel.cpp
	deleted:    udt4/src/channel.h
	deleted:    udt4/src/common.cpp
	deleted:    udt4/src/common.h
	deleted:    udt4/src/core.cpp
	deleted:    udt4/src/core.h
	deleted:    udt4/src/epoll.cpp
	deleted:    udt4/src/epoll.h
	deleted:    udt4/src/list.cpp
	deleted:    udt4/src/list.h
	deleted:    udt4/src/md5.cpp
	deleted:    udt4/src/md5.h
	deleted:    udt4/src/packet.cpp
	deleted:    udt4/src/packet.h
	deleted:    udt4/src/queue.cpp
	deleted:    udt4/src/queue.h
	deleted:    udt4/src/udt.h
	deleted:    udt4/src/window.cpp
	deleted:    udt4/src/window.h
	deleted:    udt4/win/appclient.vcproj
	deleted:    udt4/win/appserver.vcproj
	deleted:    udt4/win/recvfile.vcproj
	deleted:    udt4/win/sendfile.vcproj
	deleted:    udt4/win/test.vcproj
	deleted:    udt4/win/udt.pro
	deleted:    udt4/win/udt.sln
	deleted:    udt4/win/udt.vcproj
	deleted:    udt4/win/udt.vcxproj
	new file:   ultravnc_service/src/UltraVNCService.cpp
	new file:   ultravnc_service/src/UltraVNCService.h
	new file:   ultravnc_service/src/UltraVNCService.rc
	new file:   ultravnc_service/src/UltraVNCService.vcxproj
	new file:   ultravnc_service/src/UltraVNCService.vcxproj.filters
	new file:   ultravnc_service/src/UltraVNCServiceClass.cpp
	new file:   ultravnc_service/src/UltraVNCServiceClass.h
	new file:   ultravnc_service/src/framework.h
	new file:   ultravnc_service/src/resource.h
	new file:   ultravnc_service/src/targetver.h
	new file:   ultravnc_service/src/ultravnc.ico
	new file:   ultravnc_service/src/version.rc2
	new file:   ultravnc_service/ultravnc_service.sln
	modified:   vncviewer/ClientConnection.cpp
	modified:   vncviewer/vncviewer.sln
	modified:   vncviewer/vncviewer.vcxproj
	modified:   winvnc/winvnc.sln
	modified:   winvnc/winvnc/HelperFunctions.cpp
	modified:   winvnc/winvnc/HelperFunctions.h
	modified:   winvnc/winvnc/PropertiesDialog.cpp
	modified:   winvnc/winvnc/PropertiesDialog.h
	modified:   winvnc/winvnc/RulesListView.cpp
	modified:   winvnc/winvnc/ScSelect.cpp
	modified:   winvnc/winvnc/SettingsManager.cpp
	modified:   winvnc/winvnc/UltraVNCService.cpp
	modified:   winvnc/winvnc/UltraVNCService.h
	modified:   winvnc/winvnc/credentials.cpp
	modified:   winvnc/winvnc/resource.h
	modified:   winvnc/winvnc/stdhdrs.h
	modified:   winvnc/winvnc/version.rc2
	modified:   winvnc/winvnc/vncabout.cpp
	modified:   winvnc/winvnc/vncclient.cpp
	modified:   winvnc/winvnc/vnclog.cpp
	modified:   winvnc/winvnc/vnclog.h
	modified:   winvnc/winvnc/vncmenu.cpp
	modified:   winvnc/winvnc/vncserver.cpp
	modified:   winvnc/winvnc/vncsockconnect.cpp
	modified:   winvnc/winvnc/winvnc.cpp
	modified:   winvnc/winvnc/winvnc.h
	modified:   winvnc/winvnc/winvnc.rc
	modified:   winvnc/winvnc/winvnc.vcxproj

* Configuration of CMake Cache on CMakeSettings.json
Use the following Command from Terminal X64 Visual Studio Developer Comand Prompt v17
C:\source\UltraVNC\cmake>cmake -S . -B build -G "Ninja" -DCMAKE_USER_MAKE_RULES_OVERRIDE="CMakeSettings.json"

Source
visual studio 2022 cmake cache
https://learn.microsoft.com/en-us/answers/questions/1627105/how-to-programmatically-generate-cmake-cache-in-vs
	new file:   CMakeSettings.json

* Remove winvnc/winvnc/inifile.cpp from cmake/winvnc/CMakeLists.txt
	modified:   cmake/winvnc/CMakeLists.txt

* Remove udt4 and UdtCloudlib folders from pro file
	modified:   UltraVNC-QtCommunityTests.pro

* Clean up for _CLOUD after deleting udt4 and UdtCloublid sources files
Not Functionnal avalanche of errors LNK2001 and LNK2019 after my patch.
	modified:   UltraVNC-QtCommunityTests.files
	modified:   cmake/libudt4/CMakeLists.txt
	modified:   cmake/libudtcloud/CMakeLists.txt
	modified:   cmake/vncviewer/CMakeLists.txt
	modified:   cmake/winvnc/CMakeLists.txt
	modified:   vncviewer/ClientConnection.cpp
	modified:   vncviewer/ClientConnection.h
	modified:   vncviewer/SessionDialog.cpp
	modified:   winvnc/winvnc/CloudDialog.cpp
	modified:   winvnc/winvnc/vncserver.cpp

* Try Patch for errors "Active Preprocessor Block" linked to _WINVNC_INIFILE Macro disable
Not functionnal Avalanche of Errors LNK2019 and LNK2001 still alive
	modified:   cmake/CMakeLists.txt

* Revert "Try Patch for errors "Active Preprocessor Block" linked to _WINVNC_INIFILE Macro disable"

This reverts commit 8f19412.

	modified:   cmake/CMakeLists.txt

* CMakeLists winvnc delete initipp.cpp and the use of cmake "Windows with cmake, generate Visual Studio project files" Works
	modified:   cmake/winvnc/CMakeLists.txt

* Add comment on line 752 of Clipboard.cpp for ISSUE #214
The line 752 below
m_strLastCutText.assign(wstrClipboard.begin(), wstrClipboard.end()); // Why you do this? m_strLastCutText is a std::string in Clipboard.h !!! Not a std::wstring or std::u16string or std::u32string ISSUE #214
	modified:   common/Clipboard.cpp

---------

Co-authored-by: jose94752 <jose.pluquet.pro@gmail.com>
Co-authored-by: RudiDeVos <71467484+RudiDeVos@users.noreply.github.com>
Co-authored-by: lbocquet <3823809+lbocquet@users.noreply.github.com>
jose94752 pushed a commit to jose94752/UltraVNC that referenced this issue Feb 23, 2025
The line 752 below
m_strLastCutText.assign(wstrClipboard.begin(), wstrClipboard.end()); // Why you do this? m_strLastCutText is a std::string in Clipboard.h !!! Not a std::wstring or std::u16string or std::u32string ISSUE ultravnc#214
	modified:   common/Clipboard.cpp
jose94752 pushed a commit to jose94752/UltraVNC that referenced this issue Feb 23, 2025
The line 752 below
m_strLastCutText.assign(wstrClipboard.begin(), wstrClipboard.end()); // Why you do this? m_strLastCutText is a std::string in Clipboard.h !!! Not a std::wstring or std::u16string or std::u32string ISSUE ultravnc#214
	modified:   common/Clipboard.cpp
jose94752 pushed a commit to jose94752/UltraVNC that referenced this issue Feb 23, 2025
The line 752 below
m_strLastCutText.assign(wstrClipboard.begin(), wstrClipboard.end()); // Why you do this? m_strLastCutText is a std::string in Clipboard.h !!! Not a std::wstring or std::u16string or std::u32string ISSUE ultravnc#214
	modified:   common/Clipboard.cpp
@RudiDeVos
Copy link
Member

Trying to repeat it.
windows11 (eng)<->windows10(eng)

Image

but the special chars seems to work.

Anything special todo to test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rudi Rudi answer is needed
Development

No branches or pull requests

4 participants