programing

MySQL 데이터베이스에 아랍어로 데이터 저장

yellowcard 2023. 7. 29. 08:20
반응형

MySQL 데이터베이스에 아랍어로 데이터 저장

저는 표와 열의 문자 집합을 변경했습니다. 아랍어 텍스트를 ?로 받았습니다.MYSQL 데이터베이스의 표시

여기 테이블의 디자인이 있습니다.

  CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;


   CREATE TABLE `categories` (                        
   `category_id` tinyint(2) NOT NULL auto_increment,           
   `category_name` varchar(50)character set utf8 NOT NULL ,  
   PRIMARY KEY  (`category_id`) 


   insert into `mydb`.`categories` 
    (`category_id`, `category_name`)
    values (1,'کتگوری');
   commit;

내가 다시 시작했을 때 선택 쿼리가 표시됩니다 ?문자로?

누가 내가 어디서 잘못하고 있는지 말해줄 수 있나요?

Pphmyadmin에 아랍어 데이터를 수동으로 삽입합니다.

먼저 데이터베이스, 테이블 및 열 이름이 utf8 set인지 확인합니다.이러한 데이터가 utf8로 설정되지 않은 경우 먼저 설정한 다음 아랍어 데이터를 데이터베이스 테이블에 삽입할 수 있습니다.

아래의 예를 참조하여 각 항목을 확인할 수 있습니다.

데이터베이스:

SELECT default_character_set_name FROM information_schema.SCHEMATA S
WHERE schema_name = "schemaname";

테이블의 경우:

SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
       information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
  AND T.table_schema = "schemaname"
  AND T.table_name = "tablename";

열:

SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "schemaname"
  AND table_name = "tablename"
  AND column_name = "columnname";

SQL 로그를 사용하는 경우 테이블에 쉽게 설정할 수 있습니다.

db, table, column name을 마우스 오른쪽 버튼으로 클릭하고 alter 옵션을 클릭하여 다음으로 설정합니다.

데이터베이스 차트 집합 = utf8 데이터베이스 정렬 = utf8_general_ci.

그냥 즐기세요...

php를 사용하여 mysql 데이터베이스의 아랍어 텍스트를 올바르게 읽고, 쓰고, 정렬하려면 다음 사항을 확인합니다.

  1. MySQL 문자 집합: UTF-8 유니코드(utf8)

  2. MySQL 연결 조합:utf8_general_ci

  3. 데이터베이스 및 테이블 정렬이 다음으로 설정됩니다.utf8_general_ci또는utf8_unicode_ci

그런 다음 db:에 연결할 때 php 스크립트에 이 코드를 추가합니다.

mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8');

자세한 내용은

아래 쿼리를 사용하여 데이터베이스 또는 db 테이블을 uft8 지원으로 변환할 수 있습니다.

ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER TABLE columnname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

도움이 되길 바랍니다!

자세히 보기 @

https://kb.mediatemple.net/questions/138/Default+MySQL+character+set+and+collation#gs

http://hollyslog.com/technology/how-to-store-arabic-or-hebrew-characters-mysql-database

데이터베이스 테이블 집합 유형을 다음으로 변경합니다.utf8_general_ci또한 테이블 필드 조합이 다음으로 변경됩니다.utf8_general_ci.

enter image description here

클라이언트 소프트웨어에서도 UTF-8을 사용하고 있는지 확인합니다.

http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

다음 코드를 사용해 보십시오.

$conn = new mysqli($server,$username,$password,$dbname);
$conn->set_charset("UTF8");
CREATE TABLE mydb.categories         
(category_id tinyint(2) NOT NULL AUTO_INCREMENT
,category_name MEDIUMTEXT NOT NULL
,PRIMARY KEY (category_id)) DEFAULT CHARACTER SET utf8

구성 구성 = 새 구성();

            // Hibernate settings equivalent to hibernate.cfg.xml  properties
            Properties settings = new Properties();
            
            settings.put(Environment.DRIVER, "com.mysql.cj.jdbc.Driver");
            settings.put(Environment.URL, "jdbc:mysql://localhost:3306/alizidan?useSSL=false&useUnicode=yes&characterEncoding=UTF-8");
            settings.put(Environment.USER, "root");
            settings.put(Environment.PASS, "");
            settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL5Dialect");
            // does not work with my sql settings.put(Environment.HBM2DDL_CHARSET_NAME, "UTF-8");

문자 인코딩="jdbc:mysql://localhost:3306/alizidan?usageSSL=false&characterEncoding=UTF-8"의 UTF-8이 매우 잘 작동합니다.

            settings.put(Environment.SHOW_SQL, "true");

            settings.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread");

    //        settings.put(Environment.HBM2DDL_AUTO, "create-drop");

            configuration.setProperties(settings);

언급URL : https://stackoverflow.com/questions/6859018/save-data-in-arabic-in-mysql-database

반응형