asp classic - ASP clásico-¿Cómo convertir una cadena UTF-8 a UTF-16?
asp-classic kannel (2)
Estoy harto de responder a esta pregunta, pero me siento impulsado porque ha hecho una suposición común que muchos hacen cuando se trata de codificar en ASP, PHP o cualquier idioma que esté usando.
En la codificación de desarrollo web está intrínsecamente vinculado a
La fuente de codificación que usa para guardar la página web
El solo hecho de mirar los comentarios debajo de la referencia de icono me hizo reír y me entristeció al mismo tiempo porque hay mucha gente que no entiende este tema.
Tomemos como ejemplo su fragmento de PHP
iconv("utf-8","ucs-2be","Мухтарам Мизоч");
Esto funcionará siempre que lo siguiente sea cierto
- El autor de la página guardó el archivo usando la
UTF-8
(la mayoría de los editores modernos tienen esta opción en alguna forma o forma). El navegador de Internet del cliente sabe que debe manejar la página como
UTF-8
ya sea a través de una metaetiqueta en el HTML,<meta http-equiv="content-type" content="text/html; charset=utf-8">
o especificando un encabezado de tipo de contenido HTTP
En términos de ASP clásico, es lo mismo que necesita;
Asegúrese de que la página se guarde como
UTF-8
, esto incluye todos los archivos#include
que son dependencias.Informe a IIS que sus páginas son
UTF-8
especificando esta instrucción de procesamiento previo en la parte superior de la página (debe ser la primera línea).<%@Language="VBScript" CodePage = 65001 %>
Dile al navegador qué codificación estás usando
<% ''Tell server to send all strings back to the client as UTF-8 ''while also setting the charset in the HTTP Content Type header. Responce.CodePage = 65001 Response.ContentType = "html/text" %> Response.Charset = "UTF-8"
ACTUALIZAR:
Ni UCS-2
( UTF-16
LE) ni UCS-2BE
( UTF-16
BE) son compatibles con ASP clásico, especificando que se CodePage
(1200 o 1201);
ASP 0203 - Invalid CodePage Value
Después de leer un poco sobre Kannel, parece que puedes controlar el conjunto de caracteres que envías a la puerta de enlace de SMS, te recomendaría que intentes enviarlo usando UTF-8
.
Campo de golf
Envío de SMS en árabe en kannel (Esta pregunta se trata de enviar SMS en árabe usando Java a Kannel, pero la información es relevante).
Unicode en Windows XP (Aunque apunta a Windows XP, la información de la página de códigos sigue siendo relevante).
Sé que ya hay una publicación: ASP clásico - ¿Cómo convertir una cadena UTF-8 a UCS-2?
Pero mi situación es otra.
Quiero convertir UTF-8 a UCS-2BE.
Por ejemplo, este texto en UTF-8 "Мухтарам Мизоч" convierte a este "CEB0 @ 0 < 87> G".
Por ejemplo, en PHP puedo usar ready function iconv("utf-8","ucs-2be","Мухтарам Мизоч");
Pero en ASP clásico no puede encontrar ninguna solución.
Esta solución necesita enviar texto SMS Unicode a través de Kannel.
en kannel.conf en la sección SMSC agrega alt-charset = UCS-2 (o UCS-2BE) eso es suficiente. Kannel envía bien a smsc en este juego de caracteres.