VBA Excel MacOs. Кодировка кириллицы при получении строки с PHP сервера
Отправляю GET запрос на сервер, в ответ получаю строку. В екселе под виндой всё работает. А в екселе под MacOs выдаёт кракозябры. Причём, только заглавные буквы ломает, маленькие получает нормально. Код PHP на сервере:
VBA макрос:
Option Explicit Private Declare PtrSafe Function popen Lib "/usr/lib/libc.dylib" (ByVal command As String, ByVal mode As String) As LongPtr Private Declare PtrSafe Function pclose Lib "/usr/lib/libc.dylib" (ByVal file As LongPtr) As Long Private Declare PtrSafe Function fread Lib "/usr/lib/libc.dylib" (ByVal outStr As String, ByVal size As LongPtr, ByVal items As LongPtr, ByVal stream As LongPtr) As Long Private Declare PtrSafe Function feof Lib "/usr/lib/libc.dylib" (ByVal file As LongPtr) As LongPtr #If Mac Then 'макрос для Mac params = "test=test" result = HTTPGet("http://f0106330.xsph.ru/test.php", params) #Else 'макрос для Win Set oHttp = CreateObject("MSXML2.ServerXMLHTTP") comp = CreateObject("WScript.Network").ComputerName sUrl = "http://f0106330.xsph.ru/test.php?test=test" oHttp.Open "GET", sUrl, False oHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" oHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" oHttp.Send ("") result = oHttp.ResponseText #End If Function HTTPGet(sUrl As String, sQuery As String) As String Dim sCmd As String Dim sResult As String Dim lExitCode As Long sCmd = "curl --get -d """ & sQuery & """" & " " & sUrl sResult = execShell(sCmd, lExitCode) HTTPGet = sResult End Function Function execShell(command As String, Optional ByRef exitCode As Long) As String Dim file As LongPtr file = popen(command, "r") If file = 0 Then Exit Function End If While feof(file) = 0 Dim chunk As String Dim read As Long chunk = Space(50) read = fread(chunk, 1, Len(chunk) - 1, file) If read > 0 Then chunk = Left$(chunk, read) execShell = execShell & chunk End If Wend exitCode = pclose(file) End Function
Как поменять кодировку в excel mac os
Акция КиберЗима
Скидки до 40%, Улучшение тарифов
и бесплатные месяцы подписки
Реклама. ООО «Инсейлс Рус» ИНН 771484376 erid: 2Ranyma3Jrc
- Главная /
- Документация /
- Пользователям inSales /
- Импорт/Экспорт /
- Импорт товаров из CSV/XLS/XLSX и YML /
- Исправление кодировки файла формата CSV/XLS/XLSX
Оценки: 14
07.09.2023 15:53
Комментарий
дай вам бох здоровья))
07.02.2023 14:41
Комментарий
Не понял, как импортировать из xls.
21.10.2022 11:20
Комментарий
Спасибо, этот метод сработал!
11.07.2022 14:39
Комментарий
ладно, беру слова обратно, если выбрать добыть данные из файла CSV? то они откроются, но этот ответ в вашей статье все таки больше похож на разбивку из текста
Ответ разработчика:
Благодарим за обратную связь.
Сменить кодировку файла на UTF-8 в Excel
Если при импорте контактов вы видите нечитаемые символы, как на скриншоте, это значит, что кодировка файла не подходит для импорта в Unisender. Файл нужно перекодировать в UTF-8. Далее мы расскажем, как это сделать в Excel.

Создаем и открываем новый Excel файл.

Переходим на вкладку «Данные», выбираем «Получение внешних данных», а далее — «Из текста».

В окне для импорта текстового файла выбираем файл с неверной кодировкой и нажимаем кнопку «Импорт».

Открывается мастер импорта текста.
С текущей кодировкой содержимое файла нечитабельное.

В поле «Формат файла» перебираем кодировки, пока не найдём ту, в которой текст отображается правильно. Вариантов много, поэтому можно начать с форматов, которые начинаются со слова «Кириллица». Находим нужный формат, нажимаем «Далее».
Выбираем символы-разделители. В нашем случае это запятая.
Нажимаем «Далее» — «Готово» — «OK»

Так выглядит импортированный текст в Excel.

Теперь нажимаем «Файл» — «Сохранить как».
Выбираем место, где будет храниться файл. Вводим название файла, тип файла выбираем CSV, ниже нажимаем «Сервис» — «Параметры веб-документа».

Переходим на вкладку «Кодировка», выбираем «Юникод UTF-8» и нажимаем «OK».

Теперь импортируем его и видим, что текст отображается корректно.
Выбор кодировки текста при открытии и сохранении файлов
Как правило, при совместной работе с текстовыми файлами нет необходимости вникать в технические аспекты хранения текста. Однако если необходимо поделиться файлом с человеком, который работает с текстами на других языках, скачать текстовый файл из Интернета или открыть его на компьютере с другой операционной системой, может потребоваться задать кодировку при его открытии или сохранении.
Когда вы открываете текстовый файл в Microsoft Word или другой программе (например, на компьютере, язык операционной системы на котором отличается от того, на котором написан текст в файле), кодировка помогает программе определить, в каком виде нужно вывести текст на экран, чтобы его можно было прочитать.
В этой статье
- Общие сведения о кодировке текста
- Выбор кодировки при открытии файла
- Выбор кодировки при сохранении файла
- Поиск кодировок, доступных в Word
Общие сведения о кодировке текста
То, что отображается на экране как текст, фактически хранится в текстовом файле в виде числового значения. Компьютер преобразует числические значения в видимые символы. Для этого используется кодикон.
Кодировка — это схема нумерации, согласно которой каждому текстовому символу в наборе соответствует определенное числовое значение. Кодировка может содержать буквы, цифры и другие символы. В различных языках часто используются разные наборы символов, поэтому многие из существующих кодировок предназначены для отображения наборов символов соответствующих языков.
Различные кодировки для разных алфавитов
Сведения о кодировке, сохраняемые с текстовым файлом, используются компьютером для вывода текста на экран. Например, в кодировке «Кириллица (Windows)» знаку «Й» соответствует числовое значение 201. Когда вы открываете файл, содержащий этот знак, на компьютере, на котором используется кодировка «Кириллица (Windows)», компьютер считывает число 201 и выводит на экран знак «Й».
Однако если тот же файл открыть на компьютере, на котором по умолчанию используется другая кодировка, на экран будет выведен знак, соответствующий числу 201 в этой кодировке. Например, если на компьютере используется кодировка «Западноевропейская (Windows)», знак «Й» из исходного текстового файла на основе кириллицы будет отображен как «É», поскольку именно этому знаку соответствует число 201 в данной кодировке.
Юникод: единая кодировка для разных алфавитов
Чтобы избежать проблем с кодированием и декодированием текстовых файлов, можно сохранять их в Юникоде. В состав этой кодировки входит большинство знаков из всех языков, которые обычно используются на современных компьютерах.
Так как Word работает на базе Юникода, все файлы в нем автоматически сохраняются в этой кодировке. Файлы в Юникоде можно открывать на любом компьютере с операционной системой на английском языке независимо от языка текста. Кроме того, на таком компьютере можно сохранять в Юникоде файлы, содержащие знаки, которых нет в западноевропейских алфавитах (например, греческие, кириллические, арабские или японские).
Выбор кодировки при открытии файла
Если в открытом файле текст искажен или выводится в виде вопросительных знаков либо квадратиков, возможно, Word неправильно определил кодировку. Вы можете указать кодировку, которую следует использовать для отображения (декодирования) текста.
- Откройте вкладку Файл.
- Нажмите кнопку Параметры.
- Нажмите кнопку Дополнительно.
- Перейдите к разделу Общие и установите флажокПодтверждать преобразование формата файла при открытии.
Примечание: Если установлен этот флажок, Word отображает диалоговое окно Преобразование файла при каждом открытии файла в формате, отличном от формата Word (то есть файла, который не имеет расширения DOC, DOT, DOCX, DOCM, DOTX или DOTM). Если вы часто работаете с такими файлами, но вам обычно не требуется выбирать кодировку, не забудьте отключить этот параметр, чтобы это диалоговое окно не выводилось.
Если почти весь текст выглядит одинаково (например, в виде квадратов или точек), возможно, на компьютере не установлен нужный шрифт. В таком случае можно установить дополнительные шрифты.
Чтобы установить дополнительные шрифты, сделайте следующее:
- Нажмите кнопку Пуск и выберите пункт Панель управления.
- Выполните одно из указанных ниже действий. В Windows 7
- На панели управления выберите раздел Удаление программы.
- В списке программ щелкните Microsoft Office или Microsoft Word, если он был установлен отдельно от пакета Microsoft Office, и нажмите кнопку Изменить.
В Windows Vista
- На панели управления выберите раздел Удаление программы.
- В списке программ щелкните Microsoft Office или Microsoft Word, если он был установлен отдельно от пакета Microsoft Office, и нажмите кнопку Изменить.
В Windows XP
- На панели управления щелкните элемент Установка и удаление программ.
- В списке Установленные программы щелкните Microsoft Office или Microsoft Word, если он был установлен отдельно от пакета Microsoft Office, и нажмите кнопку Изменить.
Совет: При открытии текстового файла в той или иной кодировке в Word используются шрифты, определенные в диалоговом окне Параметры веб-документа. (Чтобы вызвать диалоговое окно Параметры веб-документа, нажмите кнопку Microsoft Office, затем щелкните Параметры Word и выберите категорию Дополнительно. В разделе Общие нажмите кнопку Параметры веб-документа.) С помощью параметров на вкладке Шрифты диалогового окна Параметры веб-документа можно настроить шрифт для каждой кодировки.
Выбор кодировки при сохранении файла
Если не выбрать кодировку при сохранении файла, будет использоваться Юникод. Как правило, рекомендуется применять Юникод, так как он поддерживает большинство символов большинства языков.
Если документ планируется открывать в программе, которая не поддерживает Юникод, вы можете выбрать нужную кодировку. Например, в операционной системе на английском языке можно создать документ на китайском (традиционное письмо) с использованием Юникода. Однако если такой документ будет открываться в программе, которая поддерживает китайский язык, но не поддерживает Юникод, файл можно сохранить в кодировке «Китайская традиционная (Big5)». В результате текст будет отображаться правильно при открытии документа в программе, поддерживающей китайский язык (традиционное письмо).
Примечание: Так как Юникод — это наиболее полный стандарт, при сохранении текста в других кодировках некоторые знаки могут не отображаться. Предположим, например, что документ в Юникоде содержит текст на иврите и языке с кириллицей. Если сохранить файл в кодировке «Кириллица (Windows)», текст на иврите не отобразится, а если сохранить его в кодировке «Иврит (Windows)», то не будет отображаться кириллический текст.
Если выбрать стандарт кодировки, который не поддерживает некоторые символы в файле, Word пометит их красным. Вы можете просмотреть текст в выбранной кодировке перед сохранением файла.
При сохранении файла в виде кодированного текста из него удаляется текст, для которого выбран шрифт Symbol, а также коды полей.
Выбор кодировки
- Откройте вкладку Файл.
- Выберите пункт Сохранить как. Чтобы сохранить файл в другой папке, найдите и откройте ее.
- В поле Имя файла введите имя нового файла.
- В поле Тип файла выберите Обычный текст.
- Нажмите кнопку Сохранить.
- Если появится диалоговое окно Microsoft Office Word — проверка совместимости, нажмите кнопку Продолжить.
- В диалоговом окне Преобразование файла выберите подходящую кодировку.
- Чтобы использовать стандартную кодировку, выберите параметр Windows (по умолчанию).
- Чтобы использовать кодировку MS-DOS, выберите параметр MS-DOS.
- Чтобы задать другую кодировку, установите переключатель Другая и выберите нужный пункт в списке. В области Образец можно просмотреть текст и проверить, правильно ли он отображается в выбранной кодировке.
Примечание: Чтобы увеличить область отображения документа, можно изменить размер диалогового окна Преобразование файла.
Поиск кодировок, доступных в Word
Word распознает несколько кодировок и поддерживает кодировки, которые входят в состав системного программного обеспечения.
Ниже приведен список письменностей и связанных с ними кодировок (кодовых страниц).
Система письменности
Используемый шрифт
Юникод (UCS-2 с прямым и обратным порядком байтов, UTF-8, UTF-7)
Стандартный шрифт для стиля «Обычный» локализованной версии Word
Windows 1256, ASMO 708
Китайская (упрощенное письмо)
GB2312, GBK, EUC-CN, ISO-2022-CN, HZ
Китайская (традиционное письмо)
BIG5, EUC-TW, ISO-2022-TW
Windows 1251, KOI8-R, KOI8-RU, ISO8859-5, DOS 866
Английская, западноевропейская и другие, основанные на латинице
Windows 1250, 1252-1254, 1257, ISO8859-x
Изменение настроек кодировки в Терминале на Mac

В разделе настроек «Кодировки» в Терминале можно задать региональные кодировки символов, которые могут потребоваться при работе с Терминалом.

Чтобы изменить эти настройки в Терминале на Mac, выберите «Терминал» > «Настройки», затем нажмите «Кодировки».
Выберите региональные кодировки символов, которые могут Вам потребоваться в Терминале. После выбора кодировок они становятся доступны во всплывающем меню «Кодировка текста» в панели «Дополнения» в разделе настроек «Профили».
Чтобы выбрать все региональные кодировки, нажмите кнопку «Включить все».
Чтобы отменить выбор всех региональных кодировок, нажмите кнопку «Отключить все».
Вернуться к настройкам по умолчанию
Чтобы восстановить значения региональных кодировок по умолчанию, нажмите «Значения по умолчанию».
Сменить кодировку файла на UTF-8 в Excel
Если при импорте контактов вы видите нечитаемые символы, как на скриншоте, это значит, что кодировка файла не подходит для импорта в Unisender. Файл нужно перекодировать в UTF-8. Далее мы расскажем, как это сделать в Excel.

Создаем и открываем новый Excel файл.

Переходим на вкладку «Данные», выбираем «Получение внешних данных», а далее — «Из текста».

В окне для импорта текстового файла выбираем файл с неверной кодировкой и нажимаем кнопку «Импорт».

Открывается мастер импорта текста.
С текущей кодировкой содержимое файла нечитабельное.
В поле «Формат файла» перебираем кодировки, пока не найдём ту, в которой текст отображается правильно. Вариантов много, поэтому можно начать с форматов, которые начинаются со слова «Кириллица». Находим нужный формат, нажимаем «Далее».
Выбираем символы-разделители. В нашем случае это запятая.
Нажимаем «Далее» — «Готово» — «OK»

Так выглядит импортированный текст в Excel.

Теперь нажимаем «Файл» — «Сохранить как».
Выбираем место, где будет храниться файл. Вводим название файла, тип файла выбираем CSV, ниже нажимаем «Сервис» — «Параметры веб-документа».

Переходим на вкладку «Кодировка», выбираем «Юникод UTF-8» и нажимаем «OK».

Теперь импортируем его и видим, что текст отображается корректно.
Как поменять кодировку в excel mac os
Powered by phpBB © 2001, 2005 phpBB Group
МЦ Магазин Apple
ООО «МК-Центр», ИНН 7709480342- +7 (495) 956-6888
- пн-пт 10:00-18:00
- Москва, ул. Школьная, д. 47 (м. Римская)
- схема проезда
- shop@mccentre.ru
- mccentre.ru
- О магазине MacCentre.ru
- Оплата товара
- Доставка товара
- Личный Кабинет
- Политика конфиденциальности
Сервис Apple
ИП Костыгов Ю.В.- +7 (495) 600-0075
- пн-пт 10:00-20:00
- Москва, ул. Школьная, д. 47 (м. Римская)
- схема проезда
- service@яблочный-сервис.москва
- яблочный-сервис.москва
- Ремонт и сервис MacBook
- Ремонт и сервис iPhone
- Ремонт и сервис iPad
- Ремонт и сервис iMac
МЦ Полиграфия
ООО «Компания МакЦентр», ИНН 7709450468- +7 (495) 956-3211
- пн-пт 10:00-18:00
- Москва, Холодильный пер., д.3, стр. 1, офис 3247
- схема проезда
- ofset@maccentre.ru
- maccentre.ru
- mcoffset.ru
- Полиграфические материалы
- Офсетные пластины
- Фототехническая пленка
- Химические растворы
Данный интернет-сайт носит исключительно информационный характер и ни при каких условиях не является публичной офертой, определяемой положениями Статьи 437 (2) Гражданского кодекса РФ.
MacCentre.ru © 1991-2017. ООО «Компания МакЦентр», ИНН 7709450468, Холодильный пер., д.3, стр. 1, офис 3247.
Другие проекты компании МакЦентр
- Airwheel: городской экотранспорт — электросамокаты, моноколёса, гироскутеры, электроскейтборды
- PalmStore: интернет-магазин электроники: смартфоны, планшеты, электронные книги, автоэлектроника
- Электронные книги Onyx BOOX
- HPC.ru — все о смартфонах, информационный проект
VBA Excel MacOs. Кодировка кириллицы при получении строки с PHP сервера
Отправляю GET запрос на сервер, в ответ получаю строку. В екселе под виндой всё работает. А в екселе под MacOs выдаёт кракозябры. Причём, только заглавные буквы ломает, маленькие получает нормально. Код PHP на сервере:
VBA макрос:
Option Explicit Private Declare PtrSafe Function popen Lib "/usr/lib/libc.dylib" (ByVal command As String, ByVal mode As String) As LongPtr Private Declare PtrSafe Function pclose Lib "/usr/lib/libc.dylib" (ByVal file As LongPtr) As Long Private Declare PtrSafe Function fread Lib "/usr/lib/libc.dylib" (ByVal outStr As String, ByVal size As LongPtr, ByVal items As LongPtr, ByVal stream As LongPtr) As Long Private Declare PtrSafe Function feof Lib "/usr/lib/libc.dylib" (ByVal file As LongPtr) As LongPtr #If Mac Then 'макрос для Mac params = "test=test" result = HTTPGet("http://f0106330.xsph.ru/test.php", params) #Else 'макрос для Win Set oHttp = CreateObject("MSXML2.ServerXMLHTTP") comp = CreateObject("WScript.Network").ComputerName sUrl = "http://f0106330.xsph.ru/test.php?test=test" oHttp.Open "GET", sUrl, False oHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" oHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" oHttp.Send ("") result = oHttp.ResponseText #End If Function HTTPGet(sUrl As String, sQuery As String) As String Dim sCmd As String Dim sResult As String Dim lExitCode As Long sCmd = "curl --get -d """ & sQuery & """" & " " & sUrl sResult = execShell(sCmd, lExitCode) HTTPGet = sResult End Function Function execShell(command As String, Optional ByRef exitCode As Long) As String Dim file As LongPtr file = popen(command, "r") If file = 0 Then Exit Function End If While feof(file) = 0 Dim chunk As String Dim read As Long chunk = Space(50) read = fread(chunk, 1, Len(chunk) - 1, file) If read > 0 Then chunk = Left$(chunk, read) execShell = execShell & chunk End If Wend exitCode = pclose(file) End Function